我一直在四处寻找如何将一些颜色代码转换为纯RGB(255,255,255)。我有这样的数字,如
5953244 Yellow
12868826 Pink
12356730 Pale Blue
5758835 Green
我真的不明白如何获取这些数字并将它们处理成常规RGB或什么样的RGB类型。
答案 0 :(得分:2)
只需在头文件中包含此行:
#define RGB(r, g, b) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:1];
然后你可以从这样的地方打电话:
UIColor *myBrightBlueColour = RGB(0,186,255);
希望有所帮助。
答案 1 :(得分:1)
这取决于它们是什么类型的颜色代码,如果它们是通常显示为十六进制的html颜色代码,那么你可以做这样的事情
red = (c>>16)&0xff;
green = (c>>8)&0xff;
blue = c&0xff;
答案 2 :(得分:1)
int足够大以容纳ARGB值或任何顺序(RGBA,BGR),而int值本身并不像它包含的单个字节那么重要。不同的颜色空间需要不同的按位操作,因为通道将位于不同的字节。以下是适用于RGB
和ARGB
的示例。
#define R(rgb) ((rgb) >> 16 & 0xFF)
#define G(rgb) ((rgb) >> 8 & 0xFF)
#define B(rgb) ((rgb) & 0xFF)
int main(int argc, char *argv[])
{
int pale_blue = 5953244;
printf("\nR: 0x%02X G: 0x%02X B: 0x%02X\nR: %03d G: %03d B: %03d",
R(pale_blue), G(pale_blue), B(pale_blue),
R(pale_blue), G(pale_blue), B(pale_blue));
}
输出:
R:0x5A G:0xD6 B:0xDC
R:090 G:214 B:220
答案 3 :(得分:1)
引用此链接将十六进制代码转换为UIcolor:http://www.touch-code-magazine.com/web-color-to-uicolor-convertor/