2

我注意到(至少在我的平台上)COLOR_PAIRS 是 64。我读过颜色对 0 始终是默认的前景色和背景色,并且无法更改。使用 8 种默认颜色,这意味着我们可以明确设置这 8 种颜色的每种组合,除了一种。这对我来说是个问题,因为用户可能不一定像我一样拥有黑底白字终端。对我来说另一个潜在的问题是我有一个透明终端,颜色对 0 保留透明背景,而使用具有黑色背景的明确颜色对在我的终端上看起来不透明。

有没有办法使用我在网上一直在寻找的 ncurses 的糟糕文档中可能没有提到的所有 64 种颜色组合?或者在初始化库以扩展我可以使用的颜色对数量之前将 COLOR_PAIRS 更改为 128 是否安全?如果我找不到合理的解决方案,我可能会在我的程序中使用 Termbox。我想使用 ncurses 来获得广泛的支持,并且大多数类 Unix 平台默认包含它,但 Termbox 有一个更简单的 API。

4

1 回答 1

1

对于ncurses62015 年 8 月),默认配置提供 256 种颜色、32767 种颜色对。如果您有当前版本的 ncurses,则可以轻松获得 64 对颜色。

TermBox可能有一个更简单的 API,但是(阅读源代码)能力较差,并且显然没有处于积极开发中(最后一次源代码更改是 8 个月前)。

于 2016-09-13T21:10:22.977 回答