Tag: 位图

在Android中将位图转换为GrayScale

我是这个网站的新手,我带着一个关于Android的问题。 有没有办法将位图转换为灰度? 我知道如何绘制一个灰度位图(使用canvas操作: http : //www.mail-archive.com/android-developers@googlegroups.com/msg38890.html ),但我真的需要实际位图在灰色(或在最不重要的东西,可能稍后转换为位图)。 我是否必须手工实现它(逐个像素操作)? 我search了很多,但仍然找不到。 任何人都知道一个简单/有效的方法来做到这一点 非常感谢!

将位图转换为byteArray android

我有一个位图,我想发送到服务器通过编码到base64,但我不想压缩图像在PNG或JPEG。 现在我以前做的是。 ByteArrayOutputStream byteArrayBitmapStream = new ByteArrayOutputStream(); bitmapPicture.compress(Bitmap.CompressFormat.PNG, COMPRESSION_QUALITY, byteArrayBitmapStream); byte[] b = byteArrayBitmapStream.toByteArray(); //then simple encoding to base64 and off to server encodedImage = Base64.encodeToString(b, Base64.NO_WRAP); 现在我只是不想使用任何压缩,也没有任何格式的简单字节[]从我可以编码和发送到服务器的位图。 任何指针?

Android – 缩小图像文件大小

我有一个URI图像文件,我想减小它的大小来上传它。 初始图像文件的大小取决于手机到手机(可以是2MB,可以是500KB),但是我希望最终大小约为200KB,以便我可以上传它。 从我读到的,我有(至less)2个select: 使用BitmapFactory.Options.inSampleSize ,对原始图像进行二次采样并获得较小的图像; 使用Bitmap.compress压缩指定压缩质量的图像。 什么是最好的select? 我正在考虑最初调整图像宽度/高度,直到宽度或高度超过1000像素(如1024×768等),然后压缩图像质量下降,直到文件大小超过200KB。 这是一个例子: int MAX_IMAGE_SIZE = 200 * 1024; // max final file size Bitmap bmpPic = BitmapFactory.decodeFile(fileUri.getPath()); if ((bmpPic.getWidth() >= 1024) && (bmpPic.getHeight() >= 1024)) { BitmapFactory.Options bmpOptions = new BitmapFactory.Options(); bmpOptions.inSampleSize = 1; while ((bmpPic.getWidth() >= 1024) && (bmpPic.getHeight() >= 1024)) { bmpOptions.inSampleSize++; bmpPic = BitmapFactory.decodeFile(fileUri.getPath(), bmpOptions); […]

MAT(Eclipse内存分析器) – 如何查看内存转储的位图

我正在分析Eclipse内存分析器 (也称为MAT)的帮助下我的Android应用程序的内存使用情况。 有时我可以findandroid.graphics.Bitmap类的奇怪实例,利用大部分的堆。 问题是我无法find这个位图的来源,没有文件名 ,没有资源ID ,什么都没有。 所有信息我可以find的位图如下: 有一个与图像像素arrays的字段mBuffer ,我假设。 但它在一些内部的Android格式,而不是PNG。 问题 :如何从内存转储中查看由此位图表示的图像?

什么时候应该使用LRUCache回收一个位图?

我正在使用LRUCache来caching存储在文件系统上的位图。 我基于这里的例子构build了caching: http : //developer.android.com/training/displaying-bitmaps/cache-bitmap.html 问题是,我看到OutOfMemory频繁使用应用程序时崩溃。 我相信当LRUCache驱逐一个映像为另一个映像腾出空间时,内存不会被释放。 当图像被驱逐时,我添加了对Bitmap.recycle()的调用: // use 1/8 of the available memory for this memory cache final int cacheSize = 1024 * 1024 * memClass / 8; mImageCache = new LruCache<String, Bitmap>(cacheSize) { @Override protected int sizeOf(String key, Bitmap bitmap) { return bitmap.getByteCount(); } @Override protected void entryRemoved(boolean evicted, String key, Bitmap […]

图像与位图类

最近我一直在阅读我的C#(我的团队正在慢慢转向C#),并且无法理解Image类和Bitmap类之间的区别。 现在我知道Bitmapinheritance了Image类,但从我所了解的两者都非常相似。 任何人都可以点亮这个?

寻找post / pre / set Translate(在Matrix对象中)以及如何使用它们的解释

这些文档对于使用这些方法时实际发生的事情非常模糊。 有人可以解释一下Matrix如何影响它所设置的位图吗? 他们在那里使用连接词,但我不清楚这个词如何适用于坐标数据(以前只用于string操作)。

不可变的位图崩溃错误

java.lang.IllegalStateException: Immutable bitmap passed to Canvas constructor at android.graphics.Canvas.<init>(Canvas.java:127) at app.test.canvas.StartActivity.applyFrame(StartActivity.java:214) at app.test.canvas.StartActivity$1.onClick(StartActivity.java:163) at android.view.View.performClick(View.java:4223) at android.view.View$PerformClick.run(View.java:17275) at android.os.Handler.handleCallback(Handler.java:615) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4898) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773) at dalvik.system.NativeStart.main(Native Method) 我从开发者控制台得到这个崩溃错误..我不明白是什么问题.. BitmapFactory.Options opt = new BitmapFactory.Options(); opt.inScaled = true; opt.inPurgeable = true; opt.inInputShareable = true; Bitmap brightBitmap = […]

从vector绘制获取位图

在我的应用程序中,我必须设置一个通知的大图标。 LargeIcon必须是一个位图,我的绘图是vector图像(Android中的新function,请参阅此链接 )问题是,当我尝试解码一个vector图像的资源,我得到一个空返回。 以下是代码示例: if (BitmapFactory.decodeResource(arg0.getResources(), R.drawable.vector_menu_objectifs) == null) Log.d("ISNULL", "NULL"); else Log.d("ISNULL", "NOT NULL"); 在这个示例中,当我用一个“普通”图像replaceR.drawable.vector_menu_objectifs,一个PNG为例,结果不是空(我得到正确的位图)是否有什么我失踪?

位图解码后的字节大小?

如何确定/计算位图的字节大小(用BitmapFactory解码之后)? 我需要知道它占用了多less内存空间,因为我在应用程序中进行内存caching/pipe理。 (文件大小不够,因为这些是JPG / PNG文件) 感谢任何解决scheme! 更新:getRowBytes * getHeight可能会做的伎俩..我会这样实现,直到有人提出反对它。