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