知っておくべきポイント
HSLカラーモデル、background‐size
課題
グレースケールの画像に対して特定の色のティント(濃淡)を加えるテ
クニックは、それぞれ大きく異なる写真に視覚的な統一感を与えるために
よく使われています。グレースケールの効果が静的に適用され、ホバーや
その他のインタラクションの発生時にのみ効果が解除されるのも一般的
です。
従来は、画像編集アプリケーションを使って2つのバージョンの画像を
用意し、簡単なCSSを使って両者を切り替えながら表示していました。正
しく動作はしますが、データ量やHTTPリクエストの回数が増加し、保守
も困難になります。例えばグレースケールの画像の色を変えようと思った
ら、既存のすべての画像について新しいバージョンを作りなおさなければ
なりません。
別のアプローチとしては、画像の手前に半透明の色を重ねたり、不透明
度が指定された画像を単色の塗りつぶしの手前に配置するといったものが
あります。しかし、これらはティントの定義に反します。画像中のすべて
の色がターゲットの色のティントへと変換されるわけではなく、コントラ
ストが大幅に低下する問題もあります。
画像をcanvas要素に変換した上で、この画像にティントを適用するよ
うなスクリプトもあります。正しいティントの表示を得られますが、制限
が多く動作は低速です。
色調の調整
17