如何在ncurses中获得明亮的白色?

7

如何使用浅灰色背景和明亮的白色前景初始化颜色对?

使用init_pair(number, COLOR_WHITE, COLOR_WHITE)可以创建一个具有浅灰色前景和背景的颜色对,但我需要前景真正的白色。我尝试通过位运算符将COLOR_WHITE与A_BLINK相结合,但这并没有起作用。Ncurses howto的示例和文档也无法帮助我。

4个回答

8

您需要设置粗体属性。在写之前调用attron(A_BOLD),并在之后调用attroff(A_BOLD)。


3
WINDOW *w = newwin(...);
wattron(w,A_BOLD);
<Your statements for mvwprintw, box, etc>

3

我曾经遇到过关于 Python + curses 的类似问题。解决方法是启用 use_default_colors 并将背景颜色设置为 -1。

这是一个 Python 示例,希望对你有所帮助:

stdscr = curses.initscr()
curses.start_color()
curses.use_default_colors()
curses.noecho()
curses.cbreak()
curses.init_pair(1, curses.COLOR_WHITE, -1)

这实际上是告诉你使用任何终端背景颜色。因此,如果您的终端背景颜色是浅灰色,则可以工作,但这只是运气。 - xryl669

2
这只是一个瞎猜,我对ncurses并不是很了解: 如果有用于使文本加粗的函数/参数,请尝试使用它!某些文本颜色映射的实现会在粗体字的位置使用更亮的颜色。

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