IT常识

16进制颜色转换rgb

2023-01-14 3466人阅读
威客牛网
科技信息综合服务平台

16进制颜色转换rgb是什么呢?不知道的小伙伴来看看小编今天的分享吧!

16进制颜色转换RGB原理:

+ (UIColor *)ml_colorWithHex:(UInt32)hex alpha:(CGFloat)alpha{

CGFloat score_R = (hex & 0xFF0000) >> 16;

CGFloat score_G = (hex & 0xFF00) >> 8;

CGFloat score_B = (hex & 0xFF);

0xF86340 & 0xFF0000,表示F86340和0xFF0000进行与运算,目的是要取出F86340的前两位F8,因为F8表示red颜色通道的值,取出来的值已经是转换好的十进制的了。

0xF86340

十六进制: F 8 6 3 4 0

二进制: 1111 1000 0110 0011 0100 0000

0xFF0000

十六进制: F F 0 0 0 0

二进制: 1111 1111 0000 0000 0000 0000

位运算

0xF86340二进制: 1111 1000 0110 0011 0100 0000

运算符: &

0xFF0000二进制: 1111 1111 0000 0000 0000 0000

(计算结果)二进制: 1111 1000 0000 0000 0000 0000

通过位运算得到结果的1111 1000 0000 0000 0000 0000,如果将此二进制数转换为十进制数,是一个非常大的数,而每个颜色通道的最大值是255,所以还需要通过位移运算,将得到的结果控制到最大范围内。

常见的几种表示颜色的方法有:

ColorName: 直接用颜色的名称来指定颜色,比如: red blue green yellow

优点: 很直观的表达想要使用的颜色

缺点: 颜色的名称很少, 不能有效表示一些较为丰富的颜色

RGB: 三通道颜色

他是目前运用最广泛的颜色系统之一

可以通过红绿蓝三色通道, 外加alpha透明度, 来展示几乎所有的颜色

RGB是从颜色的发光原理来设定的, 相当于红绿蓝三个颜色通过不同亮度, 来组合成为需要的颜色

0为最暗, 255为最亮

HEX: 十六进制颜色

十六进制与RGB都可以展示出非常丰富的颜色, 他是通过16进制0~F这16个字符来表达颜色的

同样, 000000为黑色, FFFFFF为白色

以上就是小编今天的分享了,希望可以帮助到大家。

热门推荐
发布项目联系我们
分享至 取消