colorname: 直接用顏色的名稱來指定顏色,比如: red blue green yellow
rgb: 三通道顏色
hex: 十六進製制顏色
使用演示:
方式一
[uicolor colorwithred:((
0xf86340
&0xff00
)>>8)
/255.0 green:((
0xf86340
&0xff00
)>>8)
/255.0 blue:((
0xf86340
&0xff))
/255.0 alpha:1]
;
方式二
+
(uicolor *
)ml_colorwithhex:
(uint32)hex alpha:
(cgfloat)alpha
0xf86340 & 0xff0000, 0xf86340 & 0xff00 ,0xf86340 & 0xff
分別是什麼意思?
0xf86340 & 0xff0000
,表示f86340和0xff0000進行與
運算,目的是要取出f86340的前兩位f8,因為f8表示red顏色通道的值,取出來的值已經是轉換好的十進位制的了。
0xf86340
十六進製制:f86
340二進位制:
1111
1000
0110
0011
0100
0000
0xff0000
十六進製制:ff0
000二進位制: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,所以還需要通過位移運算,將得到的結果控制到最大範圍內。
首先我們先看下面乙個二進位制數:
0000 0000 0000 0000 1111 1111
===> 該數最大的值是255(十進位制)。
所以我們只要將之前計算的結果位移到最後的八個二進位制位的位置上即可。
1111
1000
0000
0000
0000
0000
>
>
16 右移16位
0000
0000
0000
0000
1111
1000
(位移後的結果)
0xf86340 & 0xff00
和f86340 & 0xff
分別取出十六進製制的63和40通過位運算和位移運算 轉換為十進位制,進行顏色值的計算(計算原理和上述一樣)。 RGB顏色如何轉變成16進製制顏色
rgb顏色如何轉變成16進製制顏色 但是它是如何計算的呢,首先,大家要知道10進製對應的10進製表.0對應0,15對應f rgb顏色如何轉變成16進製制顏色 舉例說明,例1 rgb 11,111,222 11 16 0餘11 11對應b 前面補0 那麼hex的資料為0b111 16 6餘15 15對...
iOS 關於16進製制RGB顏色設定問題
針對ui給的標註圖上,色值給的都是16進製制的,如 ed145b,000000等等,那麼我們在 中應該怎麼使用這一色值呢?下面給出幾種方案以供參考!1.寫乙個巨集定義 define ugucolorfromrgb 0x rgbvalue uicolor colorwithred float rgbv...
QT筆記 RGB轉化為16進製制顏色
將rgb的顏色轉化為16進製制的顏色 形式 rgb 0,0,0 000000 返回型別 字串 qstring 1.首先,我們需要得到乙個color 標頭檔案 include 顏色選擇器 qcolor color qcolordialog getcolor qt black,this 選擇你要的顏色 ...