颜色透明度百分比与十六进制换算
在开发界面时,我们经常需要设置控件背景的透明度。比如想把一个背景色设为 50% 的透明效果,这时候就需要把百分比转换成十六进制的 Alpha 通道值。
核心原理
十六进制颜色通常遵循 #AARRGGBB 格式,其中前两位 AA 代表 Alpha(透明度)通道。这个通道的取值范围是 00 到 FF(即十进制 0 到 255)。
这里有个容易混淆的点:
- FF (255) 代表完全不透明(100% 不透明)
- 00 (0) 代表完全透明(100% 透明)
所以,当我们说'透明度为 50%'时,实际上是指介于全透明和全不透明中间的状态,对应的 Alpha 值应该在 00 和 FF 的正中间。
计算步骤
假设我们需要计算 50% 透明度对应的十六进制值:
-
确定公式:由于 FF 对应 0% 透明度(全不透明),00 对应 100% 透明度(全透明),计算公式可以理解为: $$ \text{Alpha} = 255 \times (1 - \text{透明度比例}) $$ 或者更直观地,直接看距离 FF 的距离。
-
代入数值: 对于 50% 透明度: $$ y = 255 \times (1 - 0.5) = 127 $$
-
进制转换: 将十进制 127 转换为十六进制,结果是
7F。
因此,如果原颜色是红色 #FF0000,加上 50% 透明度后,完整的十六进制代码就是 #7FFF0000。
常用参考表
手动计算比较麻烦,实际开发中可以直接参考下表,涵盖了常见的透明度百分比:
| 透明度 | 十六进制 (Alpha) | 说明 |
|---|---|---|
| 0% | FF | 完全不透明 |
| 5% | F2 | |
| 10% | E5 | |
| 15% | D8 | |
| 20% | CC | |
| 25% | BF | |
| 30% | B2 | |
| 35% | A5 | |
| 40% | 99 | |
| 45% |


