首页 > 其他 > 详细

16进制颜色换算

时间:2015-07-30 16:25:02      阅读:238      评论:0      收藏:0      [点我收藏+]

+ (UIColor *) colorWithHexString: (NSString *)color

{
NSString *cString = [[color stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString];

// String should be 6 or 8 characters
if ([cString length] < 6) {
return [UIColor clearColor];
}

// strip 0X if it appears
if ([cString hasPrefix:@"0X"])
cString = [cString substringFromIndex:2];
if ([cString hasPrefix:@"#"])
cString = [cString substringFromIndex:1];
if ([cString length] != 6)
return [UIColor clearColor];

// Separate into r, g, b substrings
NSRange range;
range.location = 0;
range.length = 2;

//r
NSString *rString = [cString substringWithRange:range];

//g
range.location = 2;
NSString *gString = [cString substringWithRange:range];

//b
range.location = 4;
NSString *bString = [cString substringWithRange:range];

// Scan values
unsigned int r, g, b;
[[NSScanner scannerWithString:rString] scanHexInt:&r];
[[NSScanner scannerWithString:gString] scanHexInt:&g];
[[NSScanner scannerWithString:bString] scanHexInt:&b];

return [UIColor colorWithRed:((float) r / 255.0f) green:((float) g / 255.0f) blue:((float) b / 255.0f) alpha:1.0f];
}

16进制颜色换算

原文:http://www.cnblogs.com/fannyLi/p/4689393.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!