投稿者 tel | 2011年3月3日

JavaScriptでHSVからRGB変換

Canvasに色指定するときにHSVで指定したかったので変換関数を作成。式はwikipediaから拝借。

function hsva(h,s,v,a){var f=h/60,i=f^0,m=v-v*s,k=v*s*(f-i),p=v-k,q=k+m;
return 'rgba('
+[[v,p,m,m,q,v][i]*255^0,
[q,v,v,p,m,m][i]*255^0,
[m,m,q,v,v,p][i]*255^0,a].join(',')+')'}
fillStyle = hsva(120, 1.0, 1.0, 1.0);

rgba形式の文字列を返すので、上みたいなかんじで使う。短く1行で書こうと思ったけど長いから改行。


コメントを残す

カテゴリー