エコで反対の背景を取得する方法

エコで反対の背景を取得する方法

モーダルを使用すると、0次のようにフォントの色と背景色を設定できます。

echo -e "\e[0;31;47m teststring \e[0m"

ところで、反対色を背景色(私の考えにはターコイズ色)として使いたいと思います。だから私はそのモードを使いたいです7(モードには7反対の背景があります)。しかし、常に動作するわけではありません。

誰でもこのパターンの使い方を教えてもらえますか?

ベストアンサー1

\e[7mリバースビデオのコードです(よく使用される場合もあります)。目立つモード)ほとんどの端末で。しかし、それがすることは、背景色を前景色に変更し、前景色を背景色に変更することです。これは写真ネガのような逆ビデオではありません。

写真ネガの場合、一部の端末は以下をサポートしています。

\e[38;2;RED;GREEN;BLUEm  # for foreground
\e[48;2;RED;GREEN;BLUEm  # for background

エスケープシーケンスです。ここでは0から255までの10進数ですRED。これは、端末にRGB仕様に最も近いパレットの色を選択するように指示します。GREENBLUE

だからあなたはこれを行うことができます:

straight_color() {
   printf '\33[48;2;%s;%s;%sm\33[38;2;%s;%s;%sm' "$@"
}
negative_color() {
  for c do
    set -- "$@" "$((255 - c))"
    shift
  done
  straightcolor "$@"
}

たとえば、次のようになります。

straight_color 255 0 0  255 255 255

明るい赤の背景に明るい白い前景の場合:

negative_color 255 0 0  255 255 255

負の数(明るいターコイズの背景に黒)。

おすすめ記事