Android 如何将十六进制颜色转换为浮点0-1?
我需要处理一个十六进制字符串值浮动的颜色 实际颜色为(RGBA格式) 当0等于00且1为FF时,为绿色。但需要将颜色转换为0-255十进制,以计算0到255之间的百分比,并设置浮点值 如何通过示例将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
#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);