任何Windowsterminal的调色板可以用pdcurses编辑吗?

我是ASCII美学的忠实粉丝,从terminal创buildgraphics的想法吸引了我。

我在Windows环境中使用pdcurses,并且发现了一个非常有趣的属性:init_color。 但是,它似乎并不工作! 我试过的每个terminal(CMD.exe,ConEmu和Console2)的颜色范围不仅限于16种颜色,我似乎无法编辑调色板。

我在网上找不到这个话题。

所以 – 这是否可能? 如果不是,有没有其他的select? 例如,我知道ConEmu有调色板,但我不知道如何告诉它在c ++程序中使用哪个调色板。

以下是我尝试的代码示例:

#include <curses.h> int main() { init_color(1, 700, 600, 111); initscr(); noecho(); if(has_colors() == FALSE) { endwin(); printf("Your terminal doesn't support color..!\n"); return 1; } init_color(2, 555, 555, 222); start_color(); init_pair(1, 1, 0); init_pair(2, 2, 0); attron(COLOR_PAIR(1)); printw("aaaa "); attron(COLOR_PAIR(2)); init_color(12, 700, 600, 111); printw("bbbb\n"); getch(); endwin(); return 0; } 

用于在一些版本的Windows中工作的代码在PDCurses 3.4中执行,但是稍后Windows(XP Service Pack 3+)将其打破。 但是,如果您从git获取最新的PDCurses代码,它已经被更新以适用于当前的Windows。

顺便说一句,你应该只在initscr()之后调用init_color() initscr()