| RGBからHSVへの変換計算式色相を求める
 
  彩度を求めるR・G・Bのうち、最も大きな値をMAX、最も小さな値をMINとして
  Rが最大値の場合色の相 H = 60 × ((G - B) ÷ (MAX - MIN)) Gが最大値の場合色の相 H = 60 × ((B - R) ÷ (MAX - MIN)) +120 
  Bが最大値の場合色の相 H = 60 × ((R - G) ÷ (MAX - MIN)) +240 
  R・G・Bが同じ値の場合の色相 H = 0 
 
  明度を求めるR・G・Bのうち、最も大きな値をMAX、最も小さな値をMINとして
  彩度 S = (MAX - MIN) ÷ MAX
 
  R・G・Bのうち、最も大きな値をMAXとして
  明度 V = MAX
 HSVからRGBへの変換計算式最大値と最小値を求める
  RGB値を求めるRGBからHSVへの変換式を逆算することで、HSVの値からRGBの最大値と最小値を求める式を導くことができます。
S・Vの範囲が0~255の場合の場合は下記のとおりです。
  最大値 MAX = V
  最小値 MIN = MAX - ((S ÷ 255) × MAX)
 
 色相はRGBの最大値・最小値を使って求めているため、 逆算することでどの色が最大値・最小値になるかがわかります。 残った色も変換式の逆算で求めます。
 Hの範囲が0~360、S・Vの範囲が0~255の場合は下記のとおりです。
 
  Hが0~60の場合R = MAX
 G = (H ÷ 60) × (MAX - MIN) + MIN
 B = MIN
Hが60~120の場合R = ((120 - H) ÷ 60) × (MAX - MIN) + MIN
 G = MAX
 B = MIN
Hが120~180の場合R = MIN
 G = MAX
 B = ((H - 120) ÷ 60) × (MAX - MIN) + MIN
Hが180~240の場合R = MIN
 G = ((240 - H) ÷ 60) × (MAX - MIN) + MIN
 B = MAX
Hが240~300の場合R = ((H - 240) ÷ 60) × (MAX - MIN) + MIN
 G = MIN
 B = MAX
Hが300~360の場合R = MAX
 G = MIN
 B = ((360 - H) ÷ 60) × (MAX - MIN) + MIN
 RGBからCMYKへの変換計算式
      K = 1 - MAX(R・G・Bのうち、最も大きな値をMAXとして)
      C = (1-R-K) ÷ (1- k)
      M = (1-G-K) ÷ (1- k)
      Y = (1-B-K) ÷ (1- k)
     CMYKからRGBへの変換計算式
      R = 255 × (1 - C) × (1-K) 
      G = 255 × (1 - M) × (1-K) B = 255 × (1 - Y) × (1-K)  |