如何使用BitmapFactory.decode*()指定位图格式(例如RGBA_8888)?

Dan*_*ler 11 android bitmapfactory

我在做多次打电话给BitmapFactory.decodeFile()BitmapFactory.decodeResource(),和我想指定位图解码的格式,如RGB_565或RGBA_8888.

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

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

感谢您的输入!

小智 22

这可能是您正在寻找的:

BitmapFactory.Options op = new BitmapFactory.Options();
op.inPreferredConfig = Bitmap.Config.ARGB_8888;
bitmap = BitmapFactory.decodeFile(path, op);
Run Code Online (Sandbox Code Playgroud)

  • RGBA8888不是ARGB (3认同)