訳あって(後述)、シェル上でターミナルの256色を24bitのRGBコードへ変換する必要が出てきました。 ここではその手法をメインに、ターミナルの256色について調べたことを書いてみました。 定義区分について これら256色は全体で統一された規則によって定義されているわけではなく、3つの異なる定義方法で分けられる領域があるようです。 システム用パレット(0 ~ 15) 有彩色(16 ~ 231) 無彩色(232 ~ 255) 基本の16色パレットは今回置いておくとして1、問題なのは16から231までの「有彩色ゾーン」、232から255までの「無彩色ゾーン」。 こいつらの変換方法を確認しておきましょう。 有彩色ゾーンについて まず以下の連立方程式を満たす、色インデックス( $i$ )に対応する三原色の色レベルを算出します。 \begin{eqnarray} \left\{ \begin{ar