11

我正在对 和 进行多次调用BitmapFactory.decodeFile()BitmapFactory.decodeResource()我想指定位图解码为的格式,例如 RGB_565 或 RGBA_8888。

目前,解码的位图格式似乎取决于传入的图像。或者,有没有办法将现有位图转换为特定格式?

这很重要的原因是,当我尝试使用 解码图像时jnigraphics,一些图像返回AndroidBitmapFormattype ANDROID_BITMAP_FORMAT_NONE,我认为这是无用的。有没有人更深入地了解为什么格式不是已知值?发生这种情况时,内置的图像选择器会正确显示以这种方式解码的图像,所以我认为必须有一种方法来处理它们。

感谢您的输入!

4

2 回答 2

22

这可能是您正在寻找的:

BitmapFactory.Options op = new BitmapFactory.Options();
op.inPreferredConfig = Bitmap.Config.ARGB_8888;
bitmap = BitmapFactory.decodeFile(path, op);
于 2012-04-26T10:09:52.363 回答
1

当您有位图时,您可以在其上调用复制方法,指定 BitmapConfig 这基本上是您想要的。 http://developer.android.com/reference/android/graphics/Bitmap.html#copy(android.graphics.Bitmap.Config,boolean )

于 2011-06-25T20:39:15.463 回答