对于这个措辞奇怪的标题感到抱歉。我想知道ncurses init_color函数如何将它的输入映射到颜色。基本上,大多数开发人员习惯用0到255比例的红色,绿色和蓝色表示颜色,但init_color采用0到1000比例的int。
例如:
如果我想在ncurses中获取颜色(75, 0, 130)
,我会拨打init_color(COLOR_NAME, 300, 0, 520)
吗?
答案 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 (该组分中的最大强度)。