我在数据库中有几行,其中一个字段是相关颜色的ARGB值。
我要读取这些表的所有行并将ARGB值十进制转换为UIColor。
我用谷歌搜索了这个,但我没有。
有没有办法解决这个问题?
感谢。
答案 0 :(得分:13)
这是我提出的将ARGB整数转换为UI颜色的方法。我们在.NET系统中使用了几种颜色测试它
+(UIColor *)colorFromARGB:(int)argb {
int blue = argb & 0xff;
int green = argb >> 8 & 0xff;
int red = argb >> 16 & 0xff;
int alpha = argb >> 24 & 0xff;
return [UIColor colorWithRed:red/255.f green:green/255.f blue:blue/255.f alpha:alpha/255.f];
}
答案 1 :(得分:2)
text.color = [UIColor colorWithRed:10.0/255.0 green:100.0/255.0 blue:55.0/255.0 alpha:1];
您只需将RGB值除以255即可正确设置。
答案 2 :(得分:1)
您可以定义宏并在整个代码中使用它
#define UIColorFromARGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 \
blue:((float)(rgbValue & 0xFF))/255.0 alpha:((float)((rgbValue & 0xFF000000) >> 24))/255.0]