赞
踩
Hex代码为三字节的十六进制数字(即要写六个字符),其中每一字节或每两个字符分别代表三原色即红、绿、蓝颜色的强度。
其格式如下:
#XXXXXX
#红 绿 蓝
一个字节的十六进制字节取值为 00~FF;那么对应颜色强度定义为最低的00到最高强度FF。
比如:
白色由最高强度的三原色混合而成,每种颜色强度拉满,那么其Hex色值就为 #FFFFFF;
黑色则完全相反,每种颜色强度最低,其Hex色值就为 #000000。
那么三原色对应的色值就可写成如下:
红色:#FF0000
绿色:#00FF00
蓝色:#0000FF
而其他万千颜色,就可分别设置不同的三原色的强度即可实现不同颜色,它们就是由强度不同的三原色组成。
基于此原理,代码实现时常见 RGB赋值 和 HEX赋值 方式就可以实现互相转换;
上面3个字节代表RGB可以实现不透明度的色值表示,当要添加透明度alpha时,可需要增添一个字节来表示:
用 00 ~ FF 去代表 透明度从 0% ~ 100%;即把0xFF(十进制是0~255)平均分为100份;
比如:如何用HEX代表黑色透明度50%?
1. 黑色:0x000000;
2. 透明度50%:0x80;
在kotlin中的颜色赋值API,就可按ARGB传入:0x80000000;
吐槽下iOS中就噶屁了,得自己写个color的扩展方法实现;可参考iOS实现示例
当然,透明度这个字节放在RGB前面ARGB,或者放RGB后面RGBA,各个语言看偏好;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。