16进制颜色转换
2014-05-22 15:05
295 查看
+ (UIColor *) colorWithHexString: (NSString *)color
{
NSString *cString = [[color stringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceAndNewlineCharacterSet]] uppercaseString];
if ([cString length] < 6) {
return [UIColor clearColor];
}
if ([cString hasPrefix:@"0X"])
cString = [cString substringFromIndex:2];
if ([cString hasPrefix:@"#"])
cString = [cString substringFromIndex:1];
if ([cString length] != 6)
return [UIColor clearColor];
// 拆分
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
unsigned int r, g, b;
[[NSScannerscannerWithString:rString] scanHexInt:&r];
[[NSScannerscannerWithString:gString] scanHexInt:&g];
[[NSScannerscannerWithString:bString] scanHexInt:&b];
return [UIColor colorWithRed:((float) r / 255.0f) green:((float) g / 255.0f) blue:((float) b / 255.0f) alpha:1.0f];
}
{
NSString *cString = [[color stringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceAndNewlineCharacterSet]] uppercaseString];
if ([cString length] < 6) {
return [UIColor clearColor];
}
if ([cString hasPrefix:@"0X"])
cString = [cString substringFromIndex:2];
if ([cString hasPrefix:@"#"])
cString = [cString substringFromIndex:1];
if ([cString length] != 6)
return [UIColor clearColor];
// 拆分
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
unsigned int r, g, b;
[[NSScannerscannerWithString:rString] scanHexInt:&r];
[[NSScannerscannerWithString:gString] scanHexInt:&g];
[[NSScannerscannerWithString:bString] scanHexInt:&b];
return [UIColor colorWithRed:((float) r / 255.0f) green:((float) g / 255.0f) blue:((float) b / 255.0f) alpha:1.0f];
}
相关文章推荐
- C#RGB颜色与16进制之间的转换
- flex实现16进制颜色和RGB颜色值的相互转换
- swift 16进制颜色转换
- JS 16进制颜色透明度转换
- IOS 将16进制颜色转换成RGB
- 延展。。 16进制颜色转换
- js 颜色格式rgb->16进制的转换
- 将普通的16进制颜色数值转换成UIColor表示形式的处理方法
- [iOS]把16进制(#871f78)颜色转换UIColor
- rgb颜色转换(16进制->10进制)
- RGB颜色转换_16进制颜色(html颜色值)字符串转为UIColor
- js方法实现rgb颜色转换成16进制格式的代码的方法
- js实现16进制颜色转换成rgba格式
- iPhone开发之将16进制颜色转换成UIColor
- C# RGB与16进制颜色转换方法
- objective-C不支持16进制的颜色表示,需要转换成rgb表示法(笔记)
- 16进制颜色转换
- iOS 16进制颜色和UIcolor的转换
- IOS 颜色 16进制 转换
- iOS中16进制颜色的转换