3
如何将UIColor对象转换为uint32_t值。请让我知道是否有人知道这一点?如何将UIColor RGB颜色转换为uint32_t值
下面是代码:
const CGFloat *components = CGColorGetComponents([UIColor redColor].CGColor);
CGFloat r = components[0];
CGFloat g = components[1];
CGFloat b = components[2];
const uint32_t rgb = ((uint32_t)r << 16 | (uint32_t)g << 8 | (uint32_t)b);
如何uint32_t的传递0xFFFFFFFF的价值?
const uint32_t white = 0xFFFFFFFF, black = 0xFF000000, transp = 0x00FFFFFF;
其工作。我能够获得价值。 –
这里是我的代码在哪里我将UIColor转换为uint32_t。问题是当我传递[Uicolor redColor]时,它的蓝色会发生变化。显示当我通过[UIColor blueColor]时,它会显示红色。我不明白我错在哪里?请帮助我。+(NSString *)getHexStringForColor:(UIColor *)color const CGFloat * components = CGColorGetComponents(color.CGColor); CGFloat red = components [0]; CGFloat green = components [1]; CGFloat blue = components [2]; NSString * hexString = [NSString stringWithFormat:@“%02X%02X%02X”,(int)(red * 255),(int)(green * 255),(int)(blue * 255)]; return hexString;} –
NSString * colorHex = [QREncoder getHexStringForColor:[UIColor blueColor]]; colorHex = [NSString stringWithFormat:@“0xFF%@”,colorHex]; NSScanner * scanner = [NSScanner scannerWithString:colorHex]; uint32_t scanedVal; [scanner scanHexLongLong:(unsigned long long *)&scanedVal]; const uint32_t white = 0xFFFFFFFF,black = scanedVal,transp = 0x00FFFFFF; –