投稿者 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行で書こうと思ったけど長いから改行。


コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

カテゴリー

%d人のブロガーが「いいね」をつけました。