我有一个.png图片,我将加载到我的应用程序中。它是以特定颜色着色的形状,因此每个像素具有完全相同的RGB值。唯一的区别是alpha值,它在形状的边缘处减小。
我的问题是,如果我用BitmapFactory.decodeResource()
加载图像,边缘上的像素会获得另一个RGB值。这不是一个很大的改变,它只是 - + 4红色/绿色/蓝色值,但对我来说这是一个很大的变化,因为像素必须是这种精确的颜色。
我想掩盖它们并用另一种颜色替换它们。这个特定的颜色是我的指标,所以我找到了我想要改变的像素。如果我改变颜色,边缘仍然会有不同的颜色,这很烦人。
有没有办法加载Drawables而不更改它们?
答案 0 :(得分:0)
您应该尝试使用此变体:
decodeResource(Resources res, int id, BitmapFactory.Options opts)
配置opts。玩它的参数 inPreferredColorSpace , outColorSpace 和 inPreferredConfig , outConfig