Android在更改图像时更改了像素的颜色

问题描述:

我有一个.png图像,用于加载到我的应用程序中。它是一种以特定颜色着色的形状,因此每个像素都具有完全相同的RGB值。唯一的区别是alpha值,它在形状的边缘减少。Android在更改图像时更改了像素的颜色

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

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

有没有方法来加载Drawables而不改变它们?

你应该尝试使用这个变体:

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

与配置OPTS。其PARAMS inPreferredColorSpaceoutColorSpaceinPreferredConfigoutConfig

+0

对不起玩,但是这并不能改变什么。无论如何inPreferredColorSpace都有一个太高的API。 –