TwoWater
8/25/2017 - 7:09 AM

Android 颜色透明度换

Android 颜色透明度换

Android 颜色透明度换算

透明度

  • 透明度分为 256 阶(0-255),计算机上用 16 进制表示为(00-ff)。透明就是 0 阶,不透明就是 255 阶,如果 50% 透明就是 127 阶( 256 的一半当然是 128,但因为是从 0 开始,所以实际上是 127 )。

  • 透明度 和 不透明度 是两个概念, 它们加起来是 1,或者100%

  • ARGB 中的透明度 alpha,表示的是不透明度。依据来自维基百科中的定义。

换算

在开发过程中,UI/UE给的标注图上,所有颜色值是RGB,但是透明度经常都是百分比,例如:颜色值:#FFFFFF,透明度40%。

使用过程中我们需要进行换算。以之前的值为例,换算过程如下:

将透明度转换成不透明度(转换方式参考“透明度”,第2条) 。 不透明度为60%

不透明度乘以255。 我们得到结果:153

将计算结果转换成16进制。得到最终的不透明度:99

将不透明度和颜色值拼接成ARGB格式。得到最终的颜色值: #99FFFFFF

简单的换算,可以先将透明度,转换成不透明度,再根据下面的表格进行对应。


100% — FF
95% — F2
90% — E6
85% — D9
80% — CC
75% — BF
70% — B3
65% — A6
60% — 99
55% — 8C
50% — 80
45% — 73
40% — 66
35% — 59
30% — 4D
25% — 40
20% — 33
15% — 26
10% — 1A
5% — 0D
0% — 00