Hex色值是什么(含透明度)

本文解释了Hex颜色编码的基本原理,如何通过RGB和三原色表示颜色,并介绍了添加透明度后形成ARGB和RGBA的区别,以及在Kotlin和iOS中的颜色赋值方法差异。
摘要由CSDN通过智能技术生成

一、原理:

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,各个语言看偏好;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值