2017-04-30 31 views
1

對不起,題目很奇怪。我想知道ncurses init_color函數如何將其輸入映射到顏色。從本質上講,大多數開發人員習慣於以0-255的比例用紅色,綠色和藍色表示顏色,但init_color的取值範圍爲0-1000。ncurses的init_color函數如何轉換爲傳統的rbg顏色?

例如:

如果我想獲得在ncurses的顏色(75, 0, 130),我會打電話init_color(COLOR_NAME, 300, 0, 520)

回答

2

短:

(n) * 1000/256 

這是從你的數字稍有不同:

293 0 508 

長:那當然假定終端描述寫入匹配的ncurses' documentation。但前提是X/Open Curses

init_color()功能重新定義色號的顏色,在支持的色彩重新定義終端,具有通過指定的紅色,綠色和藍色的強度部件綠色藍色。調用init_color()也會將屏幕上指定顏色的所有出現更改爲新定義。

color_content()函數標識的顏色數顏色強度的組件。它將這種顏色的紅色,綠色和藍色強度分量分別存儲在紅色,綠色和藍色指向的地址中。

對於這兩個函數,顏色參數必須位於0到和包括COLORS-1的範圍內。有效強度值範圍從0(無強度分量)直至幷包括(該分量中的最大強度)。