xterm-256的256位图像掩码

时间:2016-06-06 21:06:51

标签: c++ ncurses

我在ncurses显示屏上使用c++xterm-256我希望以红色阴影打印我的文字,但我找不到简单的方法这样做。

使用this图表我可以看到0x009为红色,而0x255 - 0x232将为各种黑色阴影。我怎样才能使用这些信息为我的颜色形成桅杆?

我基本上想要形成一张地图,10表示白色而20表示红色,这样15就是粉红色等等。然后我会用

创建颜色对
init_pair(10, ???, COLOR_BLACK);
init_pair(11, ???, COLOR_BLACK);
...
init_pair(20, ???, COLOR_BLACK);

这样我以后可以使用这些颜色从白色到红色。

1 个答案:

答案 0 :(得分:0)

这取决于您想要做出的假设。 xterm 256color特性的布局是给定的,有三个部分:

  1. 颜色0-15是ANSI颜色和那些颜色的明亮版本。
  2. 颜色16-231是6x6x6颜色立方体
  3. 颜色232-255是灰度渐变,故意遗漏黑白
  4. 参见例如256color.pl(从xterm源广泛复制)。当你看到图片时,这些数字比the chart更有意义:

    enter image description here

    您可以在init_pair中简单地引用这些颜色编号。你注意到的鲜红色是9(COLOR_RED + 8)。

    另一方面,可以修改调色板。您可以使用init_color(提供自己的红色/绿色/蓝色三联色)来按数字定义颜色,并在init_pair中使用