HLS とは?


HLSとは、Hue (色相), Lightness (明度), Saturation (彩度) の3つの要素で色を表現する方式の略称です。色の表現の仕方はたくさんあって、たとえばHLSの他に、テレビやコンピュータのディスプレイ等でお馴染みの RGB (Red, Green, Blue の3要素で色を表現する)や、カラーコピー機やカラープリンタで採用されている CMY (Cyan シアン、Magenda マゼンダ、Yellow 黄色の3色による方法)などがありますが、これらは何れも色彩との対応が付けにくい点で一般人向けではありません(たとえば、こちらにRGB系による色々な色の表現が出ていますので、御参考に)。

これに対してHLS系では、3つの要素の

をそれぞれ表すため、RGB系やCMY系に比べ色の表現が視覚的にイメージしやすい利点があります。ちなみに、HLSと似た方法に、HSV(V は Value=強度)というのもあります。

サンプルでも示してある通り、たとえばHLS系で暗めの色を出すためには、Lightness を低めにし、また明るめ(パステル調)の色を出すためには逆に Lightness を高めにすれば良いです。カラフルな色で表現したければ Lightness を適当な値に固定し、Saturation を高めに固定しておいて Hue をグルッと回せば良いでしょう。

ただし、いずれの要素とも、指定できる値の範囲があらかじめ決まっています。詳しくは リファレンスマニュアルサンプルプログラムの色見本で確認して下さい。

PGPLOT の場合、HLS系でグレースケール(白黒)を表現するためには、Saturation を0に固定しておいて、Lightness を加減します。黒は Lightness=0、白は Lightness=1、灰色はその間(たとえば Lightness=0.5)で表すことが出来ます。なお、Hue は Saturation を0にした状態では無意味なので、何を与えても構いません。

ちなみに、PGPLOT ではRGBで色を表現することも可能です。

なお一般に、色の見栄えはディスプレイ上で見た時とプリンタで印刷した時では異なる場合が多く、プリンタの機種などによっても出来が違ってくる場合があります。どのような出力機器を用いるかによって、指定する値を微調整することが必要でしょう。