11

コンソールで透過性が有効になっています。他の ncurses アプリを実行すると、背景が透過したままになります。アプリで透明性を維持し、暗い黒の不透明な背景を適用しないようにしようとしています。

これは私がこれまでに行っていることです

start_color();
init_pair(1, COLOR_GREEN, COLOR_BLACK);

attron(COLOR_PAIR(1));
mvprintw(10,10, "Hello");

refresh();
attroff(COLOR_PAIR(1));

何か案は?

ありがとう

4

1 に答える 1

5

アプリケーションが を呼び出す場合use_default_colors、 ncurses (およびNetBSD curses ) は、ECMA-48 SGR 39 および 49 の「デフォルト カラー」に基づく拡張機能を提供します。これを行うと、ncurses は、前景色や背景色が端末の色に関する想定と一致するセルを明示的に色付けすることを控えます。

assume_default_colors端末が(たとえば)白い背景に黒いテキストを使用している場合に、デフォルトの色機能を改善するために使用できる追加機能があります。

使用するカラー対応端末のほとんどは SGR 39/49 コードをサポートしているため、この機能はほとんどの場合使用できます。

参考文献:

于 2016-04-04T09:11:55.737 に答える