需求
将android的Color值转为R,G,B,A
的形式,每个参数值范围0-255.
例如:#90232432 转为
R:35
G:36
B:50
A:144
解决
int color= Color.parseColor(#90232432)
int r = ((color >> 16) & 0xff);
int g = ((color >> 8) & 0xff);
int b = ((color) & 0xff);
int a = ((color >> 24) & 0xff);
其他
在Android之中 Color本身也有以下方法
color.red();
color.alpha();
color.blue();
color.green()
但是获取到的值都是小数值。而不是0-255的整数值。
如果是这种数值我们需要进行下面的转换就可以了。
int red=(int)(color.red()*255.0f+0.5f);
int alpha=(int)(color.alpha()*255.0f+0.5f);
int blue=(int)(color.blue()*255.0f+0.5f);
int green=(int)(color.green()*255.0f+0.5f);
如果想了解更全的关于Color的转换,可以参考我之后写的https://zinyan.com/?p=203
评论区