从字符串中取颜色

来源:互联网 发布:python辗转相减法 编辑:程序博客网 时间:2024/05/01 03:35

+ (UIColor *)colorWithString:(NSString *)stringToConvert {

NSScanner *scanner = [NSScannerscannerWithString:stringToConvert];

if (![scannerscanString:@"{"intoString:NULL])return nil;

constNSUInteger kMaxComponents = 4;

CGFloat c[kMaxComponents];

NSUInteger i =0;

if (![scannerscanFloat:&c[i++]]) return nil;

while (1) {

if ([scannerscanString:@"}"intoString:NULL])break;

if (i >= kMaxComponents)return nil;

if ([scannerscanString:@","intoString:NULL]) {

if (![scannerscanFloat:&c[i++]]) return nil;

}else {

// either we're at the end of there's an unexpected character here

// both cases are error conditions

returnnil;

}

}

if (![scannerisAtEnd]) returnnil;

UIColor *color;

switch (i) {

case2: // monochrome

color = [UIColorcolorWithWhite:c[0]alpha:c[1]];

break;

case4: // RGB

color = [UIColorcolorWithRed:c[0]green:c[1] blue:c[2] alpha:c[3]];

break;

default:

color =nil;

}

return color;

}




+ (UIColor *)randomColor {

return [UIColorcolorWithRed:(CGFloat)RAND_MAX /random()

 green:(CGFloat)RAND_MAX /random()

blue:(CGFloat)RAND_MAX /random()

 alpha:1.0f];

}





原创粉丝点击