Android 颜色透明度换算

来源:互联网 发布:手机荧屏软件 编辑:程序博客网 时间:2024/05/21 16:06

转载于:点击打开链接

简介

颜色

Android中的颜色值通常遵循RGB/ARGB标准,使用时通常以“#”字符开头,以16进制表示。
常用的颜色值格式为:

1 #RGB2 #ARGB3 #RRGGBB4 #AARRGGBB

其中,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/UE给的标注图上,所有颜色值是RGB,但是透明度经常都是百分比,例如:颜色值:#FFFFFF,透明度40%。
使用过程中我们需要进行换算。以之前的值为例,换算过程如下:
将透明度转换成不透明度(转换方式参考“透明度”,第2条) 。 不透明度为60%
不透明度乘以255。 我们得到结果:153
将计算结果转换成16进制。得到最终的不透明度:99
将不透明度和颜色值拼接成ARGB格式。得到最终的颜色值: #99FFFFFF
简单的换算,可以先将透明度,转换成不透明度,再根据下面的表格进行对应。

100% — FF95% — F290% — E685% — D980% — CC75% — BF70% — B365% — A660% — 9955% — 8C50% — 8045% — 7340% — 6635% — 5930% — 4D25% — 4020% — 3315% — 2610% — 1A5% — 0D0% — 00

参考

Color
標示色碼的方法
RGBA color space
Understanding colors in Android
How to make a background transparent 20% in android

0 0