iOS开发 RGBA转16进制
2020-04-16 本文已影响0人
喜剧收尾_XWX
代码
- 当hexString = @"ffffff",默认的alpha值为1
- 当hexString = @"ffffff7f",则alpha值为0.5
+ (UIColor *)colorWithString:(NSString *)hexString {
NSString *hex = [NSString stringWithString:hexString];
if ([hex hasPrefix:@"#"]) hex = [hex substringFromIndex:1];
if (hex.length == 6) {
hex = [hex stringByAppendingString:@"FF"];
} else if (hex.length != 8) return nil;
uint32_t rgba;
NSScanner *scanner = [NSScanner scannerWithString:hex];
[scanner scanHexInt:&rgba];
return [UIColor colorWithRed:((rgba >> 24)&0xFF) / 255. green:((rgba >> 16)&0xFF) / 255. blue:((rgba >> 8)&0xFF) / 255. alpha:(rgba&0xFF) / 255.];
}
十六进制alpha含义
Opacity % | 255 Step | 2 digit HEX prefix |
---|---|---|
0% | 0.00 | 00 |
5% | 12.75 | 0C |
10% | 25.50 | 19 |
15% | 38.25 | 26 |
20% | 51.00 | 33 |
25% | 63.75 | 3F |
30% | 76.50 | 4C |
35% | 89.25 | 59 |
40% | 102.00 | 66 |
45% | 114.75 | 72 |
50% | 127.50 | 7F |
55% | 140.25 | 8C |
60% | 153.00 | 99 |
65% | 165.75 | A5 |
70% | 178.50 | B2 |
75% | 191.25 | BF |
80% | 204.00 | CC |
85% | 216.75 | D8 |
90% | 229.50 | E5 |
95% | 242.25 | F2 |
100% | 255.00 | FF\ |