前言
在开发中,UI在设计稿中标注的颜色都是类似RGB或者HEX颜色值(#FF0000红色),但是标注后面还有透明度比如30%,下面我们就来看看透明度怎么转换为16进制值。
颜色简介
程序中颜色值通常遵循RGB/ARGB标准,使用时通常直接使用RGB255类似的值或者以16进制#字符串表示。
常用的颜色表示有: RGB/ARGB/RRGGBB/AARRGGBB
其中ARGB依次代表透明度(alpha),红色(red),绿色(green),蓝色(blue)。例如颜色值#FF99CCBB,其中FF是透明度,99是红色值,CC是绿色值,BB是蓝色值。透明度(通常称为alpha值)在图形中是一个介于0(完全透明)和1(完全不透明)之间的值。在RGBA颜色模型中,alpha值用于表示颜色的透明度。
透明度换算
透明度
1.透明度分为256阶(0~255),用16进制表示为(00~FF)。透明就是0阶,不透明就是255阶,如果50%透明就是127阶(256的一半是128,但因为是从0开始,所以实际上是127)
2.透明度和不透明度是两个概念,他们加起来是1或者100%,ARGB中透明度表示的是不透明度。
如何换算
比如UI给出的颜色为#FFFFFF,透明度40%。换算过程如下:
1.将透明度转换成不透明度(不透明度为60%)
2.将不透明度乘以255(得到153)
3.将计算结果转换成16进制(不透明度为99)
4.将不透明度拼接成ARGB格式(#99FFFFFFFF)
常用的透明度
透明度 | 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 |
转换公式:透明度*255 转 16进制