十六进制与RGB进制之间的转化

//十六进制颜色转换成RGB颜色

inline static UIColor* GetColorFromCSSHex(NSString *hexColor) { // #FF3300

    

   if (hexColor == nil || [hexColor isEqualToString:@""]) {

        return nil;

    }

    

    if ([hexColor length] != 7) {

        return nil;

    }

    

    unsigned int red = 255, green = 255, blue = 255;

    NSRange range;

    range.length = 2;

    

    range.location = 1;

    [[NSScanner scannerWithString:[hexColor substringWithRange:range]] scanHexInt:&red];

    range.location = 3;

    [[NSScanner scannerWithString:[hexColor substringWithRange:range]] scanHexInt:&green];

    range.location = 5;

    [[NSScanner scannerWithString:[hexColor substringWithRange:range]] scanHexInt:&blue];

    

    return [UIColor colorWithRed:(float)(red/255.0fgreen:(float)(green/255.0fblue:(float)(blue/255.0falpha:1.0f];

}


//RGB颜色转化成十六进制颜色

inline static NSString* GetCSSHexFromColor(UIColor *color) {

    

    if (color == nil) {

        return nil;

    }

    

NSString *strColor = nil;

CGColorRef cgColor = [color CGColor];

//int num = CGColorGetNumberOfComponents(cgColor);

    const CGFloat *colors = CGColorGetComponents(cgColor);//RGB

    int r = colors[0] * 255.0f;

    int g = colors[1] * 255.0f;

    int b = colors[2] * 255.0f;

    strColor = [NSString stringWithFormat:@"#%02x%02x%02x", r, g, b];//RGB

    

    return strColor;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值