我正在拨打BitmapFactory.decodeFile()
和BitmapFactory.decodeResource()
几次,我想指定位图解码的格式,例如RGB_565或RGBA_8888。
目前,解码的位图格式似乎取决于传入的图像。或者,有没有办法将现有位图转换为特定格式?
这一点很重要的原因是,当我尝试使用jnigraphics
解码图像时,某些图像会返回AndroidBitmapFormat
类型ANDROID_BITMAP_FORMAT_NONE
,我认为这是无用的。有没有人更深入地了解为什么格式不是已知值?发生这种情况时,内置图像选择器会正确显示以这种方式解码的图像,因此我认为必须有一种方法来处理它们。
感谢您的投入!
答案 0 :(得分:22)
这可能就是你要找的东西:
BitmapFactory.Options op = new BitmapFactory.Options();
op.inPreferredConfig = Bitmap.Config.ARGB_8888;
bitmap = BitmapFactory.decodeFile(path, op);
答案 1 :(得分:1)
当你有位图时,可以在它上面调用copy方法,指定BitmapConfig,这基本上就是你想要的。 http://developer.android.com/reference/android/graphics/Bitmap.html#copy(android.graphics.Bitmap.Config,boolean)