網站首頁 學習教育 IT科技 金融知識 旅遊規劃 生活小知識 家鄉美食 養生小知識 健身運動 美容百科 遊戲知識 綜合知識
當前位置:趣知科普吧 > IT科技 > 

16進位制顏色轉換rgb

欄目: IT科技 / 釋出於: / 人氣:3.01W

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