Android在解码图像时会更改像素的颜色

时间:2017-09-13 22:14:33

标签: android image colors drawable

我有一个.png图片,我将加载到我的应用程序中。它是以特定颜色着色的形状,因此每个像素具有完全相同的RGB值。唯一的区别是alpha值,它在形状的边缘处减小。

我的问题是,如果我用BitmapFactory.decodeResource()加载图像,边缘上的像素会获得另一个RGB值。这不是一个很大的改变,它只是 - + 4红色/绿色/蓝色值,但对我来说这是一个很大的变化,因为像素必须是这种精确的颜色。

我想掩盖它们并用另一种颜色替换它们。这个特定的颜色是我的指标,所以我找到了我想要改变的像素。如果我改变颜色,边缘仍然会有不同的颜色,这很烦人。

有没有办法加载Drawables而不更改它们?

1 个答案:

答案 0 :(得分:0)

您应该尝试使用此变体:

decodeResource(Resources res, int id, BitmapFactory.Options opts)

配置opts。玩它的参数 inPreferredColorSpace outColorSpace inPreferredConfig outConfig