カテゴリー:
色変換
閲覧数:452 配信日:2016-05-20 10:48
仕様
W3C勧告候補
・平成15年5月14日
下記アルゴリズムでは
・三つの値(H,S,L)はすべて、割合0~1となるよう正規化されている
HOW TO RETURN hsl.to.rgb(h, s, l)
SELECT:
l<=0.5: PUT l*(s+1) IN m2
ELSE: PUT l+s-l*s IN m2
PUT l*2-m2 IN m1
PUT hue.to.rgb(m1, m2, h+1/3) IN r
PUT hue.to.rgb(m1, m2, h ) IN g
PUT hue.to.rgb(m1, m2, h-1/3) IN b
RETURN (r, g, b)
HOW TO RETURN hue.to.rgb(m1, m2, h)
IF h<0: PUT h+1 IN h
IF h>1: PUT h-1 IN h
IF h*6<1: RETURN m1+(m2-m1)*h*6
IF h*2<1: RETURN m2
IF h*3<2: RETURN m1+(m2-m1)*(2/3-h)*6
RETURN m1
内容
l<=0.5
・m2=l*(s+1)
l>0.5
・m2=l+s-l*s
m1=l*2-m2
r
・hue.to.rgb(m1, m2, h+1/3)
g
・hue.to.rgb(m1, m2, h)
b
・hue.to.rgb(m1, m2, h-1/3)
hue.to.rgb
h<0
・h=h+1
h>1
・h=h-1
h*6<1
・RETURN m1+(m2-m1)*h*6
h*2<1
・RETURN m2
h*3<2
・RETURN m1+(m2-m1)*(2/3-h)*6
・RETURN m1