iOS 關於16進製制RGB顏色設定問題

2021-07-26 19:27:14 字數 1296 閱讀 4512

針對ui給的標註圖上,色值給的都是16進製制的,如#ed145b,#000000等等, 那麼我們在**中應該怎麼使用這一色值呢?下面給出幾種方案以供參考!

1. 寫乙個巨集定義:

#define ugucolorfromrgb_0x(rgbvalue) [uicolor \

colorwithred:((float)((rgbvalue & 0xff0000) >> 16))/255.0 \

green:((float)((rgbvalue & 0xff00) >> 8))/255.0 \

blue:((float)(rgbvalue & 0xff))/255.0 alpha:1.0]

使用:

morelabel.textcolor =ugucolorfromrgb_0x(0x666666);
這樣就可以為該控制項設定字型顏色了

2.自己寫乙個轉換方法 呼叫

#pragma mark - 16進製制轉rgb

+ (uicolor *)getcolorwithhexstr:(nsstring *)hexcolor

unsigned int red, green, blue;

nsrange range;

range.length =2;

range.location =0;

[[nsscanner scannerwithstring:[hexcolor substringwithrange:range]]scanhexint:&red];

range.location =2;

[[nsscanner scannerwithstring:[hexcolor substringwithrange:range]]scanhexint:&green];

range.location =4;

[[nsscanner scannerwithstring:[hexcolor substringwithrange:range]]scanhexint:&blue];

return [uicolor colorwithred:(red)/255.f green:(green)/255.f blue:(blue)/255.f alpha:1.f];

}

呼叫方法:

[_protocolbtn settitlecolor:[bsdtools getcolorwithhexstr:@"000000"] forstate:uicontrolstatenormal];
這樣也是可以設定相應控制項顏色的!

16進製制顏色轉換RGB原理

colorname 直接用顏色的名稱來指定顏色,比如 red blue green yellow rgb 三通道顏色 hex 十六進製制顏色 使用演示 方式一 uicolor colorwithred 0xf86340 0xff00 8 255.0 green 0xf86340 0xff00 8 2...

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對...

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

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