ごみばこ

プログラムに関する備忘録などを書いています。

RGB⇒HSV(HSB)に変換する

RGBの値を変えるのに必死で変換処理探して書いていました( ^ω^)・・・
そんな必要なんてなかった…


Color構造体に変換メソッドが用意されています。

・色相を求める
 System.Drawing.Color.GetHue()

・彩度を求める
 System.Drawing.Color.GetSaturation()

・明度を求める
 System.Drawing.Color.GetBrightness()

C#の場合はfloat、VBの場合はSingle型で値が返却されます。

輝度を求めたい場合は残念ながらメソッドが用意されていません。
まだ試していませんが、下記のURLが参考になりそうです。
英語は読めないですが、同等の式があるのでおそらく求めることが出来るでしょう。


ofo.jp
HSL and HSV - Wikipedia