2010-11-15 61 views
2

我使用BitmapFactory.decodeByteArray從PNG圖像生成位圖。然後我使用Bitmap.getPixels檢索所有像素數據。問題是,當一個像素被設置爲完全透明時,所有的顏色數據接縫將被丟棄。 0x0000ff00被返回爲0x00000000。如果我從具有透明像素的代碼創建圖像,則製作副本並將其渲染到畫布,使用Canvas.drawColor(0xff000000,Mode.DST_ATOP),然後使用getPixels獲取所有正確的顏色值,然後將其與alpha我從第一個getPixels調用中獲得的值。現在我無法做到這一點,因爲顏色信息將會消失。 有什麼方法可以確保在使用BitmapFactory從PNG文件生成位圖時存儲顏色信息?BitmapFactory.decodeByteArray在像素完全透明時不保留顏色信息

回答

0

嘗試設置BitmapFactory.Options.inDither = false,它應該做的伎倆。 取得了智慧here.

+1

感謝Axarydax,但它沒有幫助。完全透明像素的顏色值仍然不正確。 0x00ffffff變成0x00000000。我會盡量找到另一個解決方法。 – 2010-11-20 11:41:28