how to convert hexadecimal to RGB

前端 未结 3 1134
青春惊慌失措
青春惊慌失措 2020-12-13 01:07

I want to make a conversion from hexadecimal to RGB, but the hexadecimal deal with a string like #FFFFFF. How can I do that?

3条回答
  •  无人及你
    2020-12-13 01:14

    I've just expanded my UIColor Category for you.
    use it like UIColor *green = [UIColor colorWithHexString:@"#00FF00"];

    //
    //  UIColor_Categories.h
    //
    //  Created by Matthias Bauch on 24.11.10.
    //  Copyright 2010 Matthias Bauch. All rights reserved.
    //
    
    #import 
    
    
    @interface UIColor(MBCategory) 
    
    + (UIColor *)colorWithHex:(UInt32)col;
    + (UIColor *)colorWithHexString:(NSString *)str;
    
    @end
    
    //
    //  UIColor_Categories.m
    //
    //  Created by Matthias Bauch on 24.11.10.
    //  Copyright 2010 Matthias Bauch. All rights reserved.
    //
    
    #import "UIColor_Categories.h"
    
    @implementation UIColor(MBCategory)
    
    // takes @"#123456"
    + (UIColor *)colorWithHexString:(NSString *)str {
        const char *cStr = [str cStringUsingEncoding:NSASCIIStringEncoding];
        long x = strtol(cStr+1, NULL, 16);
        return [UIColor colorWithHex:x];
    }
    
    // takes 0x123456
    + (UIColor *)colorWithHex:(UInt32)col {
        unsigned char r, g, b;
        b = col & 0xFF;
        g = (col >> 8) & 0xFF;
        r = (col >> 16) & 0xFF;
        return [UIColor colorWithRed:(float)r/255.0f green:(float)g/255.0f blue:(float)b/255.0f alpha:1];
    }
    
    @end
    

提交回复
热议问题