#import #import #import #import "NSColorExtensions.h" @implementation NSColor (GetColorsFromString) + (NSColor *)colorFromStringRepresentation:(NSString *)colorString { float r, g, b, a; NSArray *array = [colorString componentsSeparatedByString:@" "]; if (!array) { return nil; } if ([array count] < 3) { NSLog(@"%@: + colorFromStringRepresentation", [[self class] description]); NSLog(@"%@: String must contain red, green, and blue components", [[self class] description]); return nil; } r = [[array objectAtIndex:0] floatValue]; g = [[array objectAtIndex:1] floatValue]; b = [[array objectAtIndex:2] floatValue]; a = [array count] > 3 ? [[array objectAtIndex:3] floatValue] : 1.0; return [NSColor colorWithCalibratedRed:r green:g blue:b alpha:a]; } - (NSString *)stringRepresentation { float r, g, b, a; [[self colorUsingColorSpaceName:NSCalibratedRGBColorSpace] getRed:&r green:&g blue:&b alpha:&a]; return [NSString stringWithFormat:@"%f %f %f %f",r,g,b,a]; } @end