在開(kāi)發(fā)中,我們有時(shí)候需要根據(jù)相應(yīng)的顏色,得到對(duì)應(yīng)的RGB值,我查找了很多,也看了對(duì)應(yīng)的API,沒(méi)有找到相關(guān)的,這是在網(wǎng)上找到了一段代碼,經(jīng)過(guò)修改,貼出來(lái)給有需要的伙伴兒進(jìn)行參考,如果你們有好的方法,希望可以科普一下我!
廢話不多說(shuō),代碼如下:
- (NSMutableArray *)changeUIColorToRGB:(UIColor *)color
{
NSMutableArray *RGBStrValueArr = [[NSMutableArray alloc] init];
NSString *RGBStr = nil;
//獲得RGB值描述
NSString *RGBValue = [NSString stringWithFormat:@"%@", color];
//將RGB值描述分隔成字符串
NSArray *RGBArr = [RGBValue componentsSeparatedByString:@" "];
//獲取紅色值
float r = [RGBArr[1] floatValue];
RGBStr = [NSString stringWithFormat:@"%.2lf", r];
[RGBStrValueArr addObject:RGBStr];
//獲取綠色值
float g = [RGBArr[2] floatValue];
RGBStr = [NSString stringWithFormat:@"%.2lf", g];
[RGBStrValueArr addObject:RGBStr];
//獲取藍(lán)色值
float b = [RGBArr[3] floatValue];
RGBStr = [NSString stringWithFormat:@"%.2lf", b];
[RGBStrValueArr addObject:RGBStr];
float a = [RGBArr[4] floatValue];
RGBStr = [NSString stringWithFormat:@"%.2lf", a];
[RGBStrValueArr addObject:RGBStr];
//返回保存RGB值的數(shù)組
return RGBStrValueArr;
}
經(jīng)過(guò)一番的查找,又找到了中相關(guān)的API的用法,此處也貼出來(lái),更新一下這篇帖子,代碼如下:
- (NSArray *)getRGBWithColor:(UIColor *)color
{
CGFloat red = 0.0;
CGFloat green = 0.0;
CGFloat blue = 0.0;
CGFloat alpha = 0.0;
[color getRed:&red green:&green blue:&blue alpha:&alpha];
return @[@(red), @(green), @(blue), @(alpha)];
}
在調(diào)用的時(shí)候,只需要把顏色傳入進(jìn)去,比如說(shuō)把redColor傳入進(jìn)去,返回的是一個(gè)數(shù)組,里面有對(duì)應(yīng)的RGB值,還有alpha值!
謝謝觀看,喜歡的話,點(diǎn)個(gè)贊哦~