黑马程序员技术交流社区

标题: UIColor值和颜色的十六进制值(hex值)的互相转换 [打印本页]

作者: zwcshy    时间: 2014-12-4 09:22
标题: UIColor值和颜色的十六进制值(hex值)的互相转换
  1. + (UIColor*) colorWithHex:(NSInteger)hexValue alpha:(CGFloat)alphaValue
  2. {
  3.     return [UIColor colorWithRed:((float)((hexValue & 0xFF0000) >> 16))/255.0
  4.                            green:((float)((hexValue & 0xFF00) >> 8))/255.0
  5.                             blue:((float)(hexValue & 0xFF))/255.0 alpha:alphaValue];
  6. }

  7. + (UIColor*) colorWithHex:(NSInteger)hexValue
  8. {
  9.     return [UIColor colorWithHex:hexValue alpha:1.0];
  10. }

  11. + (NSString *) hexFromUIColor: (UIColor*) color {
  12.     if (CGColorGetNumberOfComponents(color.CGColor) < 4) {
  13.         const CGFloat *components = CGColorGetComponents(color.CGColor);
  14.         color = [UIColor colorWithRed:components[0]
  15.                                 green:components[0]
  16.                                  blue:components[0]
  17.                                 alpha:components[1]];
  18.     }
  19.      
  20.     if (CGColorSpaceGetModel(CGColorGetColorSpace(color.CGColor)) != kCGColorSpaceModelRGB) {
  21.         return [NSString stringWithFormat:@"#FFFFFF"];
  22.     }
  23.      
  24.     return [NSString stringWithFormat:@"#XXX", (int)((CGColorGetComponents(color.CGColor))[0]*255.0),
  25.                                                         (int)((CGColorGetComponents(color.CGColor))[1]*255.0),
  26.                                                         (int)((CGColorGetComponents(color.CGColor))[2]*255.0)];
  27. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2