2016-11-27 68 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你可以在那裏找到所有流行的色彩表現。

相關問題