可以更改Drawable的色彩平衡吗?例如,我想将
转换成
。我试过这个方法,但它会将我的整个Drawable颜色都变为一个唯一的颜色:
![enter image description here](https://istack.dev59.com/xvTla.webp)
![enter image description here](https://istack.dev59.com/EoeA8.webp)
Drawable drawable; // my drawable
float r = Color.red(110) / 255f;
float g = Color.green(150) / 255f;
float b = Color.blue(200) / 255f;
ColorMatrix cm = new ColorMatrix(new float[] {
// Change red channel
r, 0, 0, 0, 0,
// Change green channel
0, g, 0, 0, 0,
// Change blue channel
0, 0, b, 0, 0,
// Keep alpha channel
0, 0, 0, 1, 0,
});
ColorMatrixColorFilter cf = new ColorMatrixColorFilter(cm);
drawable.setColorFilter(cf);
我明确指出我不希望将我的源图像分成两个或更多层,并对其中一个进行着色。