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; –