Skip to content

Instantly share code, notes, and snippets.

@kishikawakatsumi
Created April 12, 2009 17:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kishikawakatsumi/94089 to your computer and use it in GitHub Desktop.
Save kishikawakatsumi/94089 to your computer and use it in GitHub Desktop.
@interface UIColor (HexEncoding)
+ (UIColor*)colorFromString:(NSString*)string;
- (NSString*)encodeToString;
@end
@implementation UIColor (HexEncoding)
+ (UIColor*)
colorFromString:(NSString*)string
{
NSScanner *scanner = [NSScanner scannerWithString:string];
NSUInteger value;
[scanner scanHexInt:&value];
CGFloat red = ((value & 0xFF000000) >> 24) / 255.0f;
CGFloat green = ((value & 0x00FF0000) >> 16) / 255.0f;
CGFloat blue = ((value & 0x0000FF00) >> 8) / 255.0f;
CGFloat alpha = ((value & 0x000000FF) >> 0) / 255.0f;
return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
}
- (NSString*)encodeToString
{
const CGFloat *components = CGColorGetComponents(self.CGColor);
return [NSString stringWithFormat:@"%02x%02x%02x%02x",
(int)(components[0]*255 + 0.5f),
(int)(components[1]*255 + 0.5f),
(int)(components[2]*255 + 0.5f),
(int)(components[3]*255 + 0.5f)];
}
@end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment