【问题标题】:How to get a brightwhite color in ncurses?如何在 ncurses 中获得亮白色?
【发布时间】:2009-12-13 10:56:56
【问题描述】:

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

init_pair(number, COLOR_WHITE, COLOR_WHITE) 创建具有浅灰色前景和背景的颜色对,但我需要前景是真正的白色。我尝试将 COLOR_WHITE 与 A_BLINK 结合(通过按位或),但这不起作用。 Ncurses howto's/examples/documentaion 也帮不了我。

【问题讨论】:

    标签: c ncurses curses


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我在使用 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)
      

      【讨论】:

      • 这实际上告诉使用您拥有的任何终端背景颜色。因此,如果您的终端背景颜色是浅灰色,那么它可以工作,但这只是运气。
      【解决方案3】:
      WINDOW *w = newwin(...);
      wattron(w,A_BOLD);
      <Your statements for mvwprintw, box, etc>
      

      【讨论】:

        【解决方案4】:

        这只是在黑暗中刺伤,我对 ncurses 不是很了解:

        如果有将文本变为粗体的功能/参数,试试看吧!文本颜色映射的一些实现使用更亮的颜色代替粗体。

        【讨论】:

          猜你喜欢
          • 2011-09-18
          • 2010-09-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-12-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多