http://www.easyrgb.com을 보면 많은 색상 변환 알고리즘이 있습니다. 다음은 RGB -> HSV입니다.
var_R = (R/255) //RGB from 0 to 255
var_G = (G/255)
var_B = (B/255)
var_Min = min(var_R, var_G, var_B) //Min. value of RGB
var_Max = max(var_R, var_G, var_B) //Max. value of RGB
del_Max = var_Max - var_Min //Delta RGB value
V = var_Max
if (del_Max == 0) //This is a gray, no chroma...
{
H = 0 //HSV results from 0 to 1
S = 0
}
else //Chromatic data...
{
S = del_Max/var_Max
del_R = (((var_Max - var_R)/6) + (del_Max/2))/del_Max
del_G = (((var_Max - var_G)/6) + (del_Max/2))/del_Max
del_B = (((var_Max - var_B)/6) + (del_Max/2))/del_Max
if (var_R == var_Max) H = del_B - del_G
else if (var_G == var_Max) H = (1/3) + del_R - del_B
else if (var_B == var_Max) H = (2/3) + del_G - del_R
if (H < 0) H += 1
if (H > 1) H -= 1
}
'색상 (각도) = HSV (각도, 1, 1)이 아닌가요? '? –
ok ... 그 뒤에있는 수학은 무엇입니까? –
http://stackoverflow.com/questions/180/function-for-creating-color-wheels에서 답변을 살펴 보셨습니까? –