颜色资源文件:
<color name="red">#ffff5454</color>
代码:
int color = Resources.getColor(getResources().Color.red);
// how to get paramArrayOfFloat from color?
ColorMatrix localColorMatrix = new ColorMatrix();
localColorMatrix.setSaturation(0.0F);
localColorMatrix.set(paramArrayOfFloat);
如何从我的色号中获取paramArrayOfFloat
?我想将我的数字转换为浮点数组。这可能在android?
答案 0 :(得分:1)
4x5矩阵,用于转换位图的颜色+ alpha分量。 矩阵存储在一个数组中,其处理如下:[ a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t] 应用于颜色[r,g,b,a],得到的颜色计算为 (夹紧后)R'= a * R + b * G + c * B + d * A + e; G'= f * R + g * G + h * B. + i * A + j; B'= k * R + 1 * G + m * B + n * A + o; A'= p * R + q * G + r * B + s * A + t;
红色 -
float[] colorTransform = {
0, 1f, 0, 0, 0,
0, 0, 0f, 0, 0,
0, 0, 0, 0f, 0,
0, 0, 0, 1f, 0};
ColorMatrix localColorMatrix = new ColorMatrix();
localColorMatrix.setSaturation(0.0F); //Remove Colour
localColorMatrix.set(colorTransform); //Apply Red say
如需更多检查:ColorMatrixSample和ColorMatrix。
注意:强>
您可以查看converting-a-web-color-to-an-rgb-float-array-for-after-effects的链接。