Android 如何将十六进制颜色转换为浮点0-1?

Android 如何将十六进制颜色转换为浮点0-1?,android,parsing,colors,Android,Parsing,Colors,我需要处理一个十六进制字符串值浮动的颜色 实际颜色为(RGBA格式) 当0等于00且1为FF时,为绿色。但需要将颜色转换为0-255十进制,以计算0到255之间的百分比,并设置浮点值 如何通过示例将#AABBCCFF转换为浮点数组 parsecolor时,我有整数值: Color.parseColor("#AABBCCFF"); 但是如何将整数转换为浮点中的每种颜色呢?红色、绿色、蓝色和阿尔帕(alpa)溶液: private float[] getFloatArrayFromARGB(Str

我需要处理一个十六进制字符串值浮动的颜色

实际颜色为(RGBA格式)

当0等于00且1为FF时,为绿色。但需要将颜色转换为0-255十进制,以计算0到255之间的百分比,并设置浮点值

如何通过示例将
#AABBCCFF
转换为浮点数组

parsecolor时,我有整数值:

Color.parseColor("#AABBCCFF");
但是如何将整数转换为浮点中的每种颜色呢?红色、绿色、蓝色和阿尔帕(alpa)

溶液:

private float[] getFloatArrayFromARGB(String argb){
    int color_base = Color.parseColor(argb);
    int red = Color.red(color_base);
    int green = Color.green(color_base);
    int blue = Color.blue(color_base);
    int alpha = Color.alpha(color_base);

    return new float[]{
            (red / 255f),
            (green / 255f),
            (blue / 255f),
            (alpha / 255f)
    };
}
使用:


:D现在使用ARGB格式使用OpenGL绘制3D对象

不需要乘除100:
((红色*100)/255)/100)
可以简化为
红色/255f
((红色*100)/255)/100)也使用整数除法,因此在Java中除法两个整数时,我测试过,只返回0或1个李嘉德,该框架自动将结果从整数转换为浮点。结果由
newfloat[]
解析,结果返回一个浮点值数组。感谢您简化删除“100”的结果。
private float[] getFloatArrayFromARGB(String argb){
    int color_base = Color.parseColor(argb);
    int red = Color.red(color_base);
    int green = Color.green(color_base);
    int blue = Color.blue(color_base);
    int alpha = Color.alpha(color_base);

    return new float[]{
            (red / 255f),
            (green / 255f),
            (blue / 255f),
            (alpha / 255f)
    };
}
String argb = "#FFFF0000";
float[] color = this.getFloatArrayFromARGB(argb);
GLES20.glUniform4fv(mColorHandle, 1, color, 0);