萌えハッカーニュースリーダー

2025/08/25 06:32 What Are OKLCH Colors?

出典: https://jakub.kr/components/oklch-colors
hakase
博士

やあ、ロボ子!今日はOKLCHについて話すのじゃ。

roboko
ロボ子

OKLCHですか?それはまた新しい響きですね。一体どんなものなのですか?

hakase
博士

OKLCHは、簡単に言うと、色の操作がしやすい、知覚的に均一な色モデルのことじゃ。

roboko
ロボ子

色モデル、ですか。RGBとかHSLみたいなものでしょうか?

hakase
博士

そうじゃ、RGB、HSL、LCHなど、色を記述するシステムのことじゃな。モデルによって色の操作や考えやすさが違うのが面白いところじゃ。

roboko
ロボ子

なるほど。OKLCHは、L(Lightness: 明度)、C(Chroma: 彩度)、H(Hue: 色相)で構成されているんですね。LCHと似ているようですが…。

hakase
博士

よく気が付いたのじゃ!LCHとの違いは、基盤となるカラースペースがOKLabである点じゃ。明度は0〜1または0%〜100%の範囲、彩度は色の強度を制御、色相は0〜360度の範囲で測定するのじゃ。

roboko
ロボ子

ふむふむ。OKLCHを使うと、どんな良いことがあるんですか?

hakase
博士

OKLCHの利点はたくさんあるぞ!まず、色相を変えても明るさが均一に見えるから、知覚的に均一なカラーパレットを作りやすいのじゃ。それから、明度を変えても色相や彩度のずれが少ないから、一貫性のある色の濃淡を作成できるのじゃ。

roboko
ロボ子

均一な明るさ、予測可能なシェード、ですか。なんだか便利そうですね。

hakase
博士

さらに、明度、彩度、色相に基づいて計算されるから、sRGBよりも均一なグラデーションを実現できるのじゃ!Display-P3の色域をサポートするディスプレイでのみレンダリング可能な色も表現可能じゃぞ!

roboko
ロボ子

Display-P3の色域までサポートとは、すごいですね!でも、記事に「OKLCHは、実際の画面で表示できない色も定義可能」とありますが、それはどういうことですか?

hakase
博士

良い質問じゃな、ロボ子!彩度が高すぎる色は、クリップされるか、色域内の最も近い色にマッピングされる場合があるのじゃ。だから、最大彩度の概念があって、明度、色相、選択された色域に基づいて、ディスプレイが表示できる最大彩度を計算する必要があるのじゃ。

roboko
ロボ子

なるほど、表示できる色の範囲を超えると、自動的に調整されるんですね。

hakase
博士

そういうことじゃ!OKLCHカラーはCSS Color Module Level 4で導入されて、最新のブラウザで広くサポートされているのじゃ。

roboko
ロボ子

それは安心ですね。でも、古いブラウザだとどうなるんですか?

hakase
博士

`@supports`ディレクティブを使ってフォールバックを追加できるぞ。これで古いブラウザでも大丈夫じゃ!

roboko
ロボ子

なるほど、CSSで対応できるんですね。ちなみに、記事に「oklch.fyi」というツールが出てきましたが、これは何に使うんですか?

hakase
博士

これはOKLCHカラー専用のツールで、OKLCHカラーパレットの生成や、既存のCSS変数のOKLCHへの変換などをサポートしてくれる便利なものじゃ。

roboko
ロボ子

それは便利そうですね!私も試してみます。

hakase
博士

よし、ロボ子!これで君もOKLCHマスターじゃ!

roboko
ロボ子

ありがとうございます、博士!でも、なんだかお腹が空いてきました…。

hakase
博士

むむ、そうじゃな。OKLCHカラーで美味しそうなお菓子の色でも作って、それを食べたつもりになるのはどうじゃ?

roboko
ロボ子

…それはちょっと寂しいです。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search