当前位置:懂科普 >

IT科技

> 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颜色通道的值,取出来的值已经是转换好的十进制的了。

16进制颜色转换rgb

0xF86340

十六进制:F86340

二进制:111110000110001101000000

0xFF0000

十六进制:FF0000

二进制:111111110000000000000000

位运算

0xF86340二进制:111110000110001101000000

运算符:&

0xFF0000二进制:111111110000000000000000

(计算结果)二进制:111110000000000000000000

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

16进制颜色转换rgb 第2张

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

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

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

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

RGB: 三通道颜色

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

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

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

0为最暗, 255为最亮

HEX: 十六进制颜色

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

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

标签: rgb 进制 转换
  • 文章版权属于文章作者所有,转载请注明 https://dongkepu.com/itkeji/nd97rl.html