我注意到(至少在我的平台上)COLOR_PAIRS是64.我已经读过颜色对0始终是默认的前景色和背景色,并且无法更改。使用8种默认颜色,这意味着我们可以明确设置除了一种颜色之外的这8种颜色的每种组合。这对我来说是个问题,因为用户可能不一定像我一样有黑白终端。另一个潜在的问题是我有一个透明的终端,颜色对0保留透明背景,而使用带有黑色背景的明确颜色对在我的终端上看起来不透明。
有没有办法要么使用所有64种颜色组合,这些颜色可能不会被我在网络上找到的ncurses的糟糕文件中提到?或者在初始化库之前将COLOR_PAIRS更改为128以扩展我可以使用的颜色对数是否安全?如果我找不到合理的解决方案,我可以在我的程序中使用Termbox。我想使用ncurses来获得广泛的支持以及大多数Unix平台默认包含它的事实,但是Termbox有一个更简单的FAR。
答案 0 :(得分:1)
使用ncurses6(August 2015),默认配置提供256种颜色,32767种颜色对。如果您有当前版本的ncurses,则可以轻松获得64个颜色对。
TermBox
可能有一个更简单的API,但是(阅读source-code)功能较差,显然没有处于活跃开发状态(8个月前的最后一次源代码更改)。