色の処理に特化した軽量ライブラリ「Chroma.js」
こんにちは、古見澤(コミザワ)です。最近は寒いですね。
自宅に加湿器を導入して潤いが増した一方、結露が酷くて窓際や玄関がカビそうで困ってます。
さて今回は Chroma.js という色に関するJSライブラリに触れる機会があったのですが、日本語の記事が殆ど見つからなかったため、この紹介をしようと思います。
Chroma.js とは
色を補正したり、色空間の変換をしたり、カラースケールを設定して色を得る事ができる、色に関する振る舞いに特化した軽量(32.8 KB)なJSライブラリです。
多くの色空間に対応しており、CSSやJavaScriptで扱いやすい形で色情報を取得することができます。
ソースはgit上にあり、ライセンスは BSD license です。
サンプル
下の例は色の補正機能を使い、X11カラーのpink(#ffc0cb)をベースに、明るさを下げ、彩度を上げ、出来上がった色を16進数で返しています。
var myColor = chroma('<script>displayColor('pink')</script>').darken().saturate(2).hex();
console.log(myColor); // "<script>displayColor('#ff6c93')</script>"
次の例は、テストの点数を表にしたときに背景色に使う色を取得するものです。
仮に60点を合格点として背景色を白とし、そこから0点に近づくほど濃い青色が、100点に近づくほど濃い赤色を返すサンプルです。
var scores = [80, 98, 92, 75, 60, 74, 68, 90, 55, 76, 38], // テストの点数
scale = chroma.scale(['<script>displayColor('#0000FF')</script>', '<script>displayColor('#FFFFFF')</script>',