颜色与十六进制值的互转
来源:互联网 发布:java log文件解析入库 编辑:程序博客网 时间:2024/05/18 00:11
转自:达内科技
颜色与十六进制值的互转
作者:广州达内科技更新时间:2013-03-04 13:35 来源:Android开发培训
1.//字符串转颜色
2.- (UIColor *) colorWithHexString: (NSString *) stringToConvert {
3. NSString *cString = [[stringToConvert stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString];
4.
5. if ([cString length] < 6)
6. return [UIColor whiteColor];
7. if ([cString hasPrefix:@"#"])
8. cString = [cString substringFromIndex:1];
9. if ([cString length] != 6)
10. return [UIColor whiteColor];
11.
12. NSRange range;
13. range.location = 0;
14. range.length = 2;
15. NSString *rString = [cString substringWithRange:range];
16.
17. range.location = 2;
18. NSString *gString = [cString substringWithRange:range];
19.
20. range.location = 4;
21. NSString *bString = [cString substringWithRange:range];
22.
23. unsigned int r, g, b;
24. [[NSScanner scannerWithString:rString] scanHexInt:&r];
25. [[NSScanner scannerWithString:gString] scanHexInt:&g];
26. [[NSScanner scannerWithString:bString] scanHexInt:&b];
27.
28. return [UIColor colorWithRed:((float) r / 255.0f)
29. green:((float) g / 255.0f)
30. blue:((float) b / 255.0f)
31. alpha:1.0f];
32.}
33.
34.//颜色转字符串
35.- (NSMutableArray *) changeUIColorToRGB:(UIColor *)color {
36. const CGFloat *cs = CGColorGetComponents(color.CGColor);
37.
38. NSString *r = [NSString stringWithFormat:@"%@", [self ToHex:cs[0] * 255]];
39. NSString *g = [NSString stringWithFormat:@"%@", [self ToHex:cs[1] * 255]];
40. NSString *b = [NSString stringWithFormat:@"%@", [self ToHex:cs[2] * 255]];
41. return [NSString stringWithFormat:@"#%@%@%@", r, g, b];
42.}
43.
44.//十进制转十六进制
45.- (NSString *)ToHex:(int)tmpid {
46. NSString *endtmp = @"";
47. NSString *nLetterValue;
48. NSString *nStrat;
49. int ttmpig = tmpid % 16;
50. int tmp = tmpid / 16;
51. switch (ttmpig) {
52. case 10:
53. nLetterValue = @"A"; break;
54. case 11:
55. nLetterValue = @"B"; break;
56. case 12:
57. nLetterValue = @"C"; break;
58. case 13:
59. nLetterValue = @"D"; break;
60. case 14:
61. nLetterValue = @"E"; break;
62. case 15:
63. nLetterValue = @"F"; break;
64. default:nLetterValue = [[NSString alloc] initWithFormat:@"%i", ttmpig];
65. }
66. switch (tmp) {
67. case 10:
68. nStrat = @"A"; break;
69. case 11:
70. nStrat = @"B"; break;
71. case 12:
72. nStrat = @"C"; break;
73. case 13:
74. nStrat = @"D"; break;
75. case 14:
76. nStrat = @"E"; break;
77. case 15:
78. nStrat = @"F"; break;
79. default:nStrat = [[NSString alloc] initWithFormat:@"%i", tmp];
80. }
81. endtmp = [[NSString alloc] initWithFormat:@"%@%@", nStrat, nLetterValue];
82. return endtmp;
83.}
- 颜色与十六进制值的互转
- RGB颜色值与十六进制颜色码
- javascript 十六进制与RGB颜色值的相互转换
- javascript 十六进制与RGB颜色值的相互转换
- javascript 十六进制与RGB颜色值的相互转换
- 十六进制颜色值与rgba格式的互相转换
- JavaScript随机生成颜色以及十六进制颜色 与RGB颜色值的相互转换
- 相关颜色的十六进制值
- Android的十六进制颜色值
- Android的十六进制颜色值
- Android的十六进制颜色值
- Android的十六进制颜色值
- Android的十六进制颜色值
- android的十六进制颜色值
- Android的十六进制颜色值
- Android的十六进制颜色值
- 用java实现十六进制代码与RGB互转的颜色转换器
- RGB 颜色值与十六进制颜色码之间的相互转换
- Linux查看cpu个数
- 扩展RBAC用户角色权限设计方案
- java抽象类,接口总结
- Disruptor学习----综述
- cloud foundry之router源码分析
- 颜色与十六进制值的互转
- iReport_3.7.6安装配置
- IBM websphere Message Broker 学习笔记 - 命令
- 长SQL语句
- Linux系统下如何查看物理内存占用率
- Android ViewPager分页功能
- 使用atoi 报错:cannot convert parameter 1 from '_TCHAR *' to 'const char *'
- 基本工资包括绩效工资在里吗?
- LEX, YACC