Android中的颜色值通常遵循RGB/ARGB标准,使用时通常以“#”字符开头,以16进制表示。
其中,ARGB 依次代表透明度(alpha)、红色(red)、绿色(green)、蓝色(blue)。以颜色值 #FF99CC00 为例,其中,FF 是透明度,99 是红色值, CC 是绿色值, 00 是蓝色值。
透明度
- 透明度分为256阶(0-255),计算机上用16进制表示为(00-ff)。透明就是0阶,不透明就是255阶,如果50%透明就是127阶(256的一半当然是128,但因为是从0开始,所以实际上是127)。
- 透明度 和 不透明度 是两个概念, 它们加起来是1,或者100%.
- ARGB 中的透明度alpha,表示的是不透明度。
如何换算
UI给出的颜色是#FFFFFF,透明度为40%。
换算过程:
- 将透明度转换成不透明度(转换方式参考“透明度”,第2条) 。不透明度为60%
- 不透明度乘以255。 我们得到结果:153
- 将计算结果转换成16进制。得到最终的不透明度:99
- 将不透明度和颜色值拼接成ARGB格式。得到最终的颜色值: #99FFFFFF
干货
我知道大家都在等最终的结果,肯定不会去自己算的,那就来点实际吧
透明度 | 16进制表示 |
---|---|
100% | 00 |
95 % | 0D |
90 % | 1A |
85 % | 26 |
80 % | 33 |
75 % | 40 |
70 % | 4D |
65 % | 59 |
60 % | 66 |
55 % | 73 |
50 % | 80 |
45 % | 8C |
40 % | 99 |
35 % | A6 |
30 % | B3 |
25 % | BF |
20 % | CC |
15 % | D9 |
10 % | E6 |
5 % | F2 |
0 % | FF |
说明:如果UI给出16进制的颜色值,那么透明度就按照上面的表格对应,将对应的透明度的16进制添加值UI给定的颜色值前,即可大功告成!!!还是说个例子吧,免得不理解.
例子:
UI给出的颜色值为#FF0000,透明度30%。
结合上表,30%的透明度16进制的值为 B3,那么最终的颜色值为 #B3FF0000.
网络转载
网友评论