如何使用目标c从RGB值获取十六进制代码

时间:2011-03-03 12:37:15

标签: objective-c

有没有人可以帮我如何通过iphone应用程序将RGB值转换为Hex代码? 提前谢谢。

2 个答案:

答案 0 :(得分:6)

关注@ОлегТрахман的回答......

UIColor* myColor  = [UIColor brownColor];
const CGFloat* components;
components = CGColorGetComponents(myColor.CGColor);
NSLog(@"%f, %f, %f, %f", components[0],components[1],components[2],components[3]);
NSLog(@"%X, %X, %X, %X", (char)(255*components[0]), (char)(255*components[1]), (char)(255*components[2]), (char)(255*components[3]));
int hexValue = 0xFF0000*components[0] + 0xFF00*components[1] + 0xFF*components[2];  // for RGB

应输出:

0.600000, 0.400000, 0.200000, 1.000000
99, 66, 33, FF

并给你实际的十六进制。

答案 1 :(得分:2)

UIColor* myColor  = [UIColor brownColor];
CGFloat* components;
components = CGColorGetComponents(myColor.CGColor);
NSLog(@"%f, %f, %f, %f", components[0],components[1],components[2],components[3]);

=> 0.600000,0.400000,0.200000,1.000000

相关问题