我想用ColorMatrixColorFilter过滤颜色。 我已经有一个代码运行良好,但...我不适用于alpha。
static private ColorMatrixColorFilter getFilter(int backgroundColor, int foregroundColor)
{
float rB = (float) (Color.red(backgroundColor)) / 255;
float gB = (float) (Color.green(backgroundColor)) / 255;
float bB = (float) (Color.blue(backgroundColor)) / 255;
float rF = (float) (Color.red(foregroundColor)) / 255;
float gF = (float) (Color.green(foregroundColor)) / 255;
float bF = (float) (Color.blue(foregroundColor)) / 255;
float[] colorTransform = { rB - rF, 0, 0, 0, rF * 255, 0, gB - gF, 0, 0, gF * 255, 0, 0, bB - bF, 0, bF * 255, 0, 0, 0, 1, 0 };
ColorMatrix colorMatrix = new ColorMatrix(colorTransform);
return new ColorMatrixColorFilter(colorMatrix);
}
我该如何为alpha做? 因为在这里,alpha总是“1”。
感谢。