2011-06-25 37 views
10

我正在對BitmapFactory.decodeFile()BitmapFactory.decodeResource()進行幾次調用,我想指定位圖解碼的格式,例如RGB_565或RGBA_8888。如何使用BitmapFactory.decode *()指定位圖格式(例如RGBA_8888)?

目前,解碼的位圖格式似乎取決於傳入的圖像。或者,有沒有辦法將現有的位圖轉換爲特定的格式?

的原因,這是非常重要的是,當我嘗試使用jnigraphics解碼圖像,一些圖像返回ANDROID_BITMAP_FORMAT_NONE類型的AndroidBitmapFormat,我以爲是沒用的。有沒有人有更深入的瞭解,爲什麼格式不會是已知的值?發生這種情況時,內置的圖像選擇器會正確顯示以這種方式解碼的圖像,所以我認爲必須有一種方法來處理它們。

感謝您的輸入!

回答

22

這可能是你在找什麼:

BitmapFactory.Options op = new BitmapFactory.Options(); 
op.inPreferredConfig = Bitmap.Config.ARGB_8888; 
bitmap = BitmapFactory.decodeFile(path, op); 
+1

RGBA8888不是ARGB – neogineer

相關問題