ANSIトゥルーカラー(24ビットRGB) - ターミナルで1600万色
フォアグラウンドにANSIエスケープコード38;2;R;G;B、バックグラウンドに48;2;R;G;Bを使用してターミナルで24ビットトゥルーカラーを使用。主要ターミナルのサポートガイドと例。
True Color
詳細な説明
ターミナルでの24ビットトゥルーカラー
トゥルーカラー(24ビットカラーまたはダイレクトカラーとも呼ばれる)では、ターミナル出力で1670万のRGBカラーのいずれかを使用できます。これはWebやデスクトップアプリケーションの全色範囲に匹敵する、最も柔軟なANSIカラーモードです。
エスケープシーケンス形式
- フォアグラウンド:
\033[38;2;R;G;Bm(R、G、Bは0-255) - バックグラウンド:
\033[48;2;R;G;Bm(R、G、Bは0-255)
例
# カスタムオレンジフォアグラウンド
echo -e "\033[38;2;255;165;0mオレンジテキスト\033[0m"
# 特定のブランドカラー(#6366F1 - Indigo)
echo -e "\033[38;2;99;102;241mブランドカラー\033[0m"
# グラデーション効果
for i in $(seq 0 5 255); do
echo -en "\033[38;2;${i};0;$((255-i))m#\033[0m"
done
echo
HexをANSIトゥルーカラーに変換
#FF6B35のような16進数カラーを変換するには:
hex_color = "FF6B35"
r = int(hex_color[0:2], 16) # 255
g = int(hex_color[2:4], 16) # 107
b = int(hex_color[4:6], 16) # 53
print(f"\033[38;2;{r};{g};{b}mカラーテキスト\033[0m")
ターミナルサポート
トゥルーカラーは以下でサポートされています:
- 完全サポート: iTerm2、Windows Terminal、Alacritty、Kitty、WezTerm、GNOME Terminal(3.18+)、Konsole(18.07+)、foot
- 部分的/サポートなし: macOS Terminal.app(サポートなし)、古いPuTTYバージョン、tmux(
TcまたはRGBterminfo機能が必要)
トゥルーカラーサポートの検出
# COLORTERM環境変数を確認
if [ "$COLORTERM" = "truecolor" ] || [ "$COLORTERM" = "24bit" ]; then
echo "トゥルーカラーサポートあり"
fi
フォールバック戦略
最大互換性のために、フォールバックチェーンを実装:トゥルーカラー > 256色 > 16色 > カラーなし。COLORTERMとTERM環境変数を確認して最適なカラーモードを決定します。
ユースケース
トゥルーカラーは、ターミナルでの画像ビューア(chafa、img2txt)、ターミナルベースのデザインツール、カラーピッカーユーティリティ、特定のブランドカラーに一致させる必要があるアプリケーションなど、ピクセルパーフェクトなカラー精度が必要なターミナルアプリケーションに最適です。bat、delta、gumなどの最新CLIツールは、リッチな構文ハイライトとUIテーマにトゥルーカラーを使用しています。