相关疑难解决方法(0)

C - 使用 ncurses 获得中性背景

在这个简单的程序中(用 C 编写)

#include <ncurses.h>
#include <string.h>

int main()
{
 initscr();
 printw("line 1\n");
 printw("line 2\n");
 start_color();
 init_pair(1, COLOR_RED, COLOR_BLACK);
 printw("line 3");
 getch();
 endwin();

 return 0;
}
Run Code Online (Sandbox Code Playgroud)

黑色背景上的红色文本打印在屏幕上。但是当我运行程序时,背景比终端的黑色背景稍亮,在Linux(Gnome终端)中。

我不想在终端的默认黑色上设置背景颜色:我想保留终端背景并将背景实际设置ncurses为透明。

有没有办法做到这一点?

注意:我试图按照这个问题中的建议将该函数放在use_default_colors();后面,但它没有用。start_color();

c linux terminal text ncurses

6
推荐指数
2
解决办法
2919
查看次数

是否可以使用python中的curses获取默认背景颜色?

在python中使用curses,您可以使用以下方法轻松使用终端的默认颜色方案:

curses.use_default_colors()
Run Code Online (Sandbox Code Playgroud)

但是,一旦尝试重新着色任何字符,使用颜色对就必须声明背景颜色:

curses.init_pair(1, curses.COLOR_RED, curses.COLOR_BLACK)
Run Code Online (Sandbox Code Playgroud)

我真的不想改变默认的背景,但我想改变前景.

有没有办法获得默认的背景颜色?或只改变前景色?

我知道我可以使用ANSI转义码来调整前景色,但ANSI代码与curses不兼容,我宁愿使用curses而不是重写ANSI代码中的所有内容.

python curses colors

3
推荐指数
1
解决办法
1507
查看次数

标签 统计

c ×1

colors ×1

curses ×1

linux ×1

ncurses ×1

python ×1

terminal ×1

text ×1