2016-11-27 121 views
0

在我的应用程序中,我使用conio库中的函数textbackground()。我有16层可用的颜色:C:conio颜色为十六进制代码/ RGB

#define BLACK 0 
#define BLUE 1 
#define GREEN 2 
#define CYAN 3 
#define RED 4 
#define MAGENTA 5 
#define BROWN 6 
#define LIGHTGRAY 7 
#define DARKGRAY 8 
#define LIGHTBLUE 9 
#define LIGHTGREEN 10 
#define LIGHTCYAN 11 
#define LIGHTRED 12 
#define LIGHTMAGENTA 13 
#define YELLOW 14 
#define WHITE 15 

怎样可以将这些颜色转换为十六进制代码和RGB,或简单地在哪里可以找到这些颜色RGB /十六进制代码(I有一个int 2D阵列,其中细胞具有的值从0到15,这些值代表像素颜色,现在我需要将它保存为BMP和XPM2格式)。

+0

gxxgle第二次击中“* LIGHTGREEN *”:http://www.html-color-names.com/ – alk

+0

您可以通过查看任何“绘画”类型程序的调色板来获取RGB组件,也许复制粘贴包含每种颜色的图像。但十六进制值?你什么意思?值是一个值是一个值。你的意思是组件的24位表示? –

回答

1

那些是EGA/VGA颜色,对不对?

这里的问题是,EGA确实有每色2位,VGA +有8位。实际值有所不同。但这种颜色应该是确定:

idx 0xrrggbb: 
    0 0x000000 
    1 0x0000aa 
    2 0x00aa00 
    3 0x00aaaa 
    4 0xaa0000 
    5 0xaa00aa 
    6 0xaaaa00 // Windows (dark yellow) 
    6 0xaa5500 // EGA/VGA (brown) 
    7 0xaaaaaa 
    8 0x555555 
    9 0x5555ff 
10 0x55ff55 
11 0x55ffff 
12 0xff5555 
13 0xff55ff 
14 0xffff55 
15 0xffffff 
0

最简单的,但不这样做的最好的解决方案是基于像素值来进行切换(),把它硬从页面编码改正十六进制/ RGB值像color-hex.com你可以在那里找到所有流行的色彩表现。

相关问题