ncurses的init_color函数如何转换为传统的rbg颜色?

时间:2017-04-30 18:52:40

标签: ncurses

对于这个措辞奇怪的标题感到抱歉。我想知道ncurses init_color函数如何将它的输入映射到颜色。基本上,大多数开发人员习惯用0到255比例的红色,绿色和蓝色表示颜色,但init_color采用0到1000比例的int。

例如:

如果我想在ncurses中获取颜色(75, 0, 130),我会拨打init_color(COLOR_NAME, 300, 0, 520)吗?

1 个答案:

答案 0 :(得分:2)

短:

(n) * 1000 / 256

与您的数字略有不同:

293 0 508

long:当然,假设写入终端描述以匹配ncurses' documentation。但假设来自X/Open Curses

  

init_color() 功能在支持重新定义颜色的终端上重新定义颜色编号颜色,以使红色指定的红色,绿色和蓝色强度组件绿色蓝色。调用init_color()还会将屏幕上指定颜色的所有出现更改为新定义。

     

color_content() 功能可识别颜色编号颜色的强度成分。它将此颜色的红色,绿色和蓝色强度成分分别存储在红色,绿色和蓝色指向的地址中。

     

对于这两个函数, color 参数必须在0到包括COLORS-1的范围内。有效强度值的范围从0(无强度分量)到 1000 (该组分中的最大强度)。