建站优化

当前位置:

16进制颜色转换rgb

浏览量:49次

16进制颜色转换rgb

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为白色

[声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【779898168@qq.com】,我们在确认后,会立即删除,保证您的版权。