HSBカラーとRGB

 Colorクラスには、色を色相(H)・彩度(S)・明度(B)で表すHSBを扱うためのメソッドが用意されています。これらのメソッドを使うと、HSBを指定してColorオブジェクトを生成したり、RGB-HSBの相互変換が可能です。今回は、HSBからColorを作成してHSBがどんな感じなのか試してみました。

HSB-RGB

 HSBからColorを作るには、ColorクラスのgetHSBColor()を使います。このメソッドは3つのfloat型引数をとり、HSBの値を順番に指定します。値の有効範囲は、HSが0以上1以下、Bが0以上1未満ですが、Bに1以上の値を指定すると小数部が利用されるようです。

・HSBからのColor生成例
 Color.getHSBColor((float)0.5,(float)0.5,(float)0.5);

 今回は、HSBを指定するためのScrollbarとそのHSBに対応するRGBを表示するTextFiledを持つアプレットを作ってみました。HSBの値を変えるとそのHSBから作成したColorを背景色に設定するので、いろいろ値を変えてどんな感じになるか、試してみてください。

 色を色相と彩度・明度を分けて扱えると、画像処理などには便利ですね。Colorクラスには、他にRGB-HSB間の変換用にHSBtoRGB(), RGBtoHSB()といったメソッドも用意されています。

プログラムソース表示

戻る