16进制颜色转换rgb

人气:548 ℃/2023-05-01 10:21:01

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

十六进制:F86340

二进制:111110000110001101000000

0xFF0000

十六进制:FF0000

二进制:111111110000000000000000

位运算

0xF86340二进制:111110000110001101000000

运算符:&

0xFF0000二进制:111111110000000000000000

(计算结果)二进制:111110000000000000000000

通过位运算得到结果的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为白色

<上一篇下一篇>

推荐

首页/电脑版/地图
© 2024 JiaChangBa.com All Rights Reserved.