颜色转换

时间:2011-06-29 14:17:10

标签: objective-c colors

我一直在四处寻找如何将一些颜色代码转换为纯RGB(255,255,255)。我有这样的数字,如

5953244  Yellow
12868826 Pink
12356730 Pale Blue
5758835  Green

我真的不明白如何获取这些数字并将它们处理成常规RGB或什么样的RGB类型。

4 个答案:

答案 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值本身并不像它包含的单个字节那么重要。不同的颜色空间需要不同的按位操作,因为通道将位于不同的字节。以下是适用于RGBARGB的示例。

#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/