我正在使用
xterm-256color
. 以下是我的简短程序片段:
mvwprintw(stdscr,1,1,"You have %d colors",COLORS);
mvwprintw(stdscr,2,1,"You have %d color pairs",COLOR_PAIRS);
wprintw(stdscr,"\n\n");
for (i=1;i<10;i++)
{
short r,g,b;
short thiscolor=i+70;
init_pair(i,thiscolor,COLOR_BLACK);
color_content(thiscolor,&r,&g,&b);
wattron(stdscr,COLOR_PAIR(i));
wprintw(stdscr,"This is color %d\t%d %d %d\n",thiscolor,r,g,b);
wattroff(stdscr,COLOR_PAIR(i));
}
refresh();
它可以打印出10种不同的绿色,但是
color_content
与正在打印的绿色不匹配:
You have 256 colors
You have 256 color pairs
This is color 71 1000 1000 1000
This is color 72 0 0 0
This is color 73 1000 0 0
This is color 74 0 1000 0
This is color 75 1000 1000 0
This is color 76 0 0 1000
This is color 77 1000 0 1000
This is color 78 0 1000 1000
This is color 79 1000 1000 1000
我希望中间值(G)总是一个相当高的数字。我会的
不
预计会出现0。
我做错什么了吗?还是我误解了什么
color\u内容
是否应该输出?