Android在更改图像时更改了像素的颜色
问题描述:
我有一个.png图像,用于加载到我的应用程序中。它是一种以特定颜色着色的形状,因此每个像素都具有完全相同的RGB值。唯一的区别是alpha值,它在形状的边缘减少。Android在更改图像时更改了像素的颜色
我的问题是,如果我用BitmapFactory.decodeResource()
加载图像,边缘上的像素会得到另一个RGB值。这不是一个大的改变,它只是 - + 4红/绿/蓝值,但对我来说这是一个很大的改变,因为像素必须是这个确切的颜色。
我想掩盖它们并用另一种颜色替换它们。这个特定的颜色是我的指标,所以我找到了我想要改变的像素。如果我改变颜色的边缘仍然有不同的颜色,这很烦人。
有没有方法来加载Drawables而不改变它们?
答
你应该尝试使用这个变体:
decodeResource(Resources res, int id, BitmapFactory.Options opts)
与配置OPTS。其PARAMS inPreferredColorSpace,outColorSpace和inPreferredConfig,outConfig
对不起玩,但是这并不能改变什么。无论如何inPreferredColorSpace都有一个太高的API。 –