在安卓中将颜色代码转换为浮点数组

3
颜色资源文件:
<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?我想将我的数字转换为浮点数数组。在安卓上是否有可能实现?


以上两种方法都应该使用小写字母"s"而不是大写字母"S"。 - Haresh Chhelana
抱歉,打错了。 - senzacionale
1个回答

1

ColorMatrix:

4x5矩阵,用于转换位图的颜色+透明度组件。 该矩阵存储在单个数组中,并按如下方式处理:[ 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 + l * 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

更多信息,请查看:ColorMatrixSampleColorMatrix

注意:

您可以查看链接,了解如何将网页颜色转换为After Effects的RGB浮点数组converting-a-web-color-to-an-rgb-float-array-for-after-effects


谢谢。那么,没有通用的解决方案可以将 Hec 颜色编号转换为数组吗? - senzacionale

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接