在ncurses中定义新颜色

3

我正在学习ncurses,想知道是否可以创建自定义颜色。我知道使用init_color()可以修改ncurses库中任何预定义的颜色。但是,是否有一种方法可以使用自定义的RGB值定义新颜色呢?


1
终端仿真器通常不支持像您所询问的自定义颜色。这就是它们成为终端仿真器的一部分的原因 - 它们支持ANSI颜色行为,例如。您到底想做什么? - Carl Norum
@CarlNorum 如果我需要在多个地方使用自定义RGB值(这些值在ncurses中没有预定义),那么使用init_color()是唯一的方法吗? - digital_revenant
@CarlNorum 任何一个不错的终端模拟器都支持更多的颜色。 - user1804599
1个回答

6

init_color() 是定义新颜色的唯一方式,但可用的颜色和颜色对数取决于您正在使用的终端。

许多终端可以支持高达 256 种颜色,但在大多数系统上,默认的 TERM 值为 xterm,仅支持 8 种颜色。xterm 可以编译支持 256 种颜色,我认为 gnome-terminal 支持 256 种颜色。尝试将您的 TERM 环境变量更改为 xterm-256color,并检查您的 ncurses 程序中的 COLORS 变量。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接