像素完全透明时,BitmapFactory.decodeByteArray不保留颜色信息

时间:2010-11-15 16:01:51

标签: android

我使用BitmapFactory.decodeByteArray从PNG图像生成位图。然后我使用Bitmap.getPixels来检索所有像素数据。问题是当像素设置为完全透明时,所有颜色数据接缝都将被丢弃。 0x0000ff00作为0x00000000返回。如果我从具有透明像素的代码创建图像我制作副本,将其渲染到画布,使用Canvas.drawColor(0xff000000,Mode.DST_ATOP),然后使用getPixels获取所有正确的颜色值,然后使用alpha添加我从第一次getPixels调用得到的值。我现在不能这样做,因为颜色信息接缝已经消失。 有没有办法确保使用BitmapFactory从PNG文件生成位图时存储颜色信息?

1 个答案:

答案 0 :(得分:0)

尝试设置BitmapFactory.Options.inDither = false,它应该可以解决问题。 从here.

中汲取智慧