IOS 開發中 十六進製制,RGB顏色的轉換的巨集定義

2021-09-27 06:45:19 字數 888 閱讀 4247

網上查了 很多都是編寫複雜 裝換函式 非常臃腫。

我在專案中採用 巨集定義實現。不敢獨享 特別分享。希望有參考價值。

#define hex_rgba(rgbvalue,a) [uicolor colorwithred:((float)((rgbvalue & 0xff0000) >> 16))/255.0 green:((float)((rgbvalue & 0xff00) >> 8))/255.0 blue:((float)(rgbvalue & 0xff))/255.0 alpha:(a)]

#define hex_rgb(rgbvalue)[uicolor colorwithred:((float)((rgbvalue & 0xff0000) >> 16))/255.0 green:((float)((rgbvalue & 0xff00) >> 8))/255.0 blue:((float)(rgbvalue & 0xff))/255.0 alpha:(1)]

#define rgb(r,g,b) [uicolor colorwithred:r/255.0f green:g/255.0f blue:b/255.0f alpha:1.0f]

#define rgba(r,g,b,a) [uicolor colorwithred:r/255.0f green:g/255.0f blue:b/255.0f alpha:a]

具體呼叫

uilabel *addresslbl = [uilabel smt_labelwithtext:@"" textcolor:hex_rgb(0x8e94bb) font:mediumsystemfont(11)];

addresslbl.textalignment = nstextalignmentright;

關於RGB顏色與十六進製制顏色

先來感受一下兩種顏色值的大致形狀 簡單來說,兩種顏色值的最本質區別是rgb是用十進位制表示的,而十六進製制當然是用十六進製制表示的。所以兩者的轉換實際上就是十六進製制與十進位制之間的轉換。先來看一下基本的對映關係 十進位制十六進製制00 1122 33 9910a 11b12c 13d14e 15f...

ios中十六進製制顏色轉UIColor

ios中十六進製制顏色轉uicolor 16進製制顏色使用廣泛且方便,但ios使用的是 uicolor 物件,不直接支援16進製制顏色,因此,在ios開發中如果需要使用16進製制顏色值則要手動將16進製制顏色轉換為 uicolor物件 下面提供乙個將16進製制顏色值轉換成uicoror物件的函式 u...

Excel輸入十六進製制數,以及十六進製制運算

網上覆制來複製去的連個靠譜答案都沒有.f k 所以無奈自己探索出來了 單元格 a1文字值 a2進製值 輸入內容 fefe oct2hex hex2oct a29 由於單元格沒有提供進製格式,所以填入的值實際上是文字值,但是轉換函式卻可以把文字值視為進製值拿去轉換 所以我們兩次轉換就能得到真正的進製數...