IT科技

當前位置 /首頁/IT科技 > /列表

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

TAG標籤:進制 rgb 轉換 #