「もっと青く」「色が重すぎる」「もう少し柔らかく」はよく使う言葉ですが、意味が曖昧です。暗くしたいのに、相手は鮮やかさを上げるかもしれません。
色を変える前に、色相、明度、クロマを分けて考えます。 三つの方向を別々に観察し、二色の違いを具体的に説明するのが目標です。色相環を暗記するための篇ではありません。
四つの青の違いは?
淡い青のシャツ、濃い青の表紙、鮮やかな青のプラスチック、灰みの青い壁を想像してください。どれも青の周辺に属していても、同じには見えません。
四つの色見本は同じ背景で比べています。A と B は主に明暗、C と D は主に灰みから鮮明さへの変化です。「違う青」と呼ぶだけでなく、もう少し具体的に言えます。
| 属性 | 日常の言葉で捉えると | 混同しやすい点 |
| 色相 | 何色の方向か。青緑寄りの青、紫寄りの青など | 「もっと青く」は色相の変化か、クロマの変化か曖昧 |
| 明度 | どれほど明るいか、暗いか | 淡い青が濃い青より鮮やかとは限らない |
| クロマ | 同じ明度の無彩色からどれほど離れているか | 鮮明になることと明るくなることは同じではない |
用語は特定の色彩体系に沿って使います。クロマは彩度に関わる量ですが、すべての体系で saturation と同一ではありません。
一度に一つの方向を変える
実験では OKLCH を使い、L が明度、C がクロマ、H が色相です。色を記述し計算するための表現方法で、ここでは青の周辺の表示可能な範囲に限定します。
図を準備しています
色の三つの変化を分けて見る色見本は OKLCH の色相 H、明度 L、クロマ C を使います。一度に一つのスライダーを動かします。青の周辺の表示可能な範囲に限定しています。無彩色の比較は L を保ち C を 0 にするもので、画面のグレースケール変換ではありません。
{"id":"color-three-attributes","title":"色の三つの変化を分けて見る","summary":"色見本は OKLCH の色相 H、明度 L、クロマ C を使います。一度に一つのスライダーを動かします。青の周辺の表示可能な範囲に限定しています。無彩色の比較は L を保ち C を 0 にするもので、画面のグレースケール変換ではありません。","height":820,"html":"<h2 data-i18n=\"heading\"></h2><p data-i18n=\"intro\"></p><svg class=\"scene\" viewBox=\"0 0 480 260\" role=\"img\" data-i18n-label=\"scene\" xmlns=\"http://www.w3.org/2000/svg\"><rect x=\"0\" y=\"0\" width=\"480\" height=\"260\" fill=\"#d8d8d8\"/><rect id=\"swatch\" x=\"110\" y=\"30\" width=\"260\" height=\"200\" rx=\"2\"/></svg><label for=\"hue\" data-i18n=\"hue_label\"></label><input id=\"hue\" type=\"range\" min=\"220\" max=\"280\" value=\"250\" step=\"1\"><output id=\"hue-value\" for=\"hue\" class=\"readout\"></output><label for=\"lightness\" data-i18n=\"lightness_label\"></label><input id=\"lightness\" type=\"range\" min=\"45\" max=\"78\" value=\"62\" step=\"1\"><output id=\"lightness-value\" for=\"lightness\" class=\"readout\"></output><label for=\"chroma\" data-i18n=\"chroma_label\"></label><input id=\"chroma\" type=\"range\" min=\"0\" max=\"8\" value=\"6\" step=\"1\"><output id=\"chroma-value\" for=\"chroma\" class=\"readout\"></output><div class=\"controls\" role=\"group\" data-i18n-label=\"choices\"><button type=\"button\" data-mode=\"color\" aria-pressed=\"false\" data-i18n=\"color\"></button><button type=\"button\" data-mode=\"neutral\" aria-pressed=\"false\" data-i18n=\"neutral\"></button></div><div class=\"status\"><p id=\"status\" role=\"status\" aria-live=\"polite\"></p></div><p class=\"readout\" data-i18n=\"note\"></p>","css":"\nbody { padding:22px; }\nh2 { font-size:20px; line-height:1.4; }\np { font-size:16px; line-height:1.65; }\n.scene { display:block; width:100%; height:auto; overflow:hidden; border-radius:4px; background:#e8e4dc; }\n.scene * { transition:none!important; }\n.controls { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:16px 0; }\n.controls button { flex:1 1 auto; min-height:44px; font-size:16px; }\nlabel { display:block; font-size:16px; margin:14px 0 4px; }\ninput[type=range] { width:100%; min-height:28px; }\n.readout { font-size:16px; color:var(--muted); }\n.status { display:grid; border-top:1px solid var(--rule); padding-top:12px; margin-top:16px; }\n.status p { grid-area:1/1; margin:0; }\n.status [aria-hidden=true] { visibility:hidden; }\n@media(max-width:480px) { body {padding:16px 12px;} h2 {font-size:19px;} }\n","js":"const $=s=>document.querySelector(s); const $$=s=>Array.from(document.querySelectorAll(s));\nfunction say(key){$('#status').textContent=viz.t(key);document.body.dataset.state=key;}\nfunction reserve(keys){keys.forEach(k=>{const p=document.createElement('p');p.textContent=viz.t(k);p.setAttribute('aria-hidden','true');$('.status').append(p);});}\nfunction selected(attr,value){$$('button['+attr+']').forEach(b=>b.setAttribute('aria-pressed',String(b.getAttribute(attr)===value)));}\n\nlet mode='color';\nfunction rgb(L,C,H){const a=C*Math.cos(H*Math.PI/180),b=C*Math.sin(H*Math.PI/180);\n const l=(L+.3963377774*a+.2158037573*b)**3,m=(L-.1055613458*a-.0638541728*b)**3,s=(L-.0894841775*a-1.291485548*b)**3;\n return [4.0767416621*l-3.3077115913*m+.2309699292*s,-1.2684380046*l+2.6097574011*m-.3413193965*s,-.0041960863*l-.7034186147*m+1.707614701*s].map(v=>Math.round(255*(v<=.0031308?12.92*v:1.055*v**(1/2.4)-.055)));}\nfunction render(){const L=Number($('#lightness').value)/100,C=Number($('#chroma').value)/100,H=Number($('#hue').value);const values=rgb(L,mode==='neutral'?0:C,H);\n const hex='#'+values.map(v=>v.toString(16).padStart(2,'0')).join('');$('#swatch').setAttribute('fill',hex);\n $('#hue-value').textContent=viz.number(H,0)+'°';$('#lightness-value').textContent=viz.number(L,2);$('#chroma-value').textContent=viz.number(C,2);\n say('s_'+mode);selected('data-mode',mode);document.body.dataset.rgb=values.join(',');document.body.dataset.l=L;document.body.dataset.c=C;document.body.dataset.h=H;\n $('#swatch').setAttribute('data-color',hex);\n}\nreserve(['s_color','s_neutral']);$$('input').forEach(s=>s.oninput=render);$$('button[data-mode]').forEach(b=>b.onclick=()=>{mode=b.dataset.mode;render();});render();\n","audio":false,"strings":{"choices":"比較方法","chroma_label":"クロマ C","color":"選んだ色","heading":"明るくなることと、鮮やかになること","hue_label":"色相 H · 青の周辺","intro":"まず明度だけを変え、0.62 に戻してからクロマだけを変えます。二つの変化を比べた後、色相を試しましょう。","lightness_label":"明度 L","neutral":"同じ L の無彩色","note":"OKLCH の一部の範囲を sRGB で表示します。数値の等間隔が全員の感覚の等間隔を保証するわけではありません。C = 0 では色相は表示に影響しません。","s_color":"L は主に明暗、C は無彩色からの隔たり、H は色相の方向を表します。一度に一項目だけ変えると比較しやすくなります。","s_neutral":"同じ L で C = 0 の無彩色を表示しています。H や選択した C を変えてもこの比較色は変わらず、L を変えると変わります。輝度の測定ではありません。","scene":"固定された灰色の背景上で調整できる青い色見本。"}}
まず L だけを上げ、元に戻して C だけを上げます。違いを比べた後、H を動かして隣の色相へ近づけます。
「同じ L の無彩色」は L を保って C をゼロにします。この体系の明度を理解する比較であり、画面が発する物理的な輝度の測定でも、誰にでも完全に同じ明るさに見えるという証明でもありません。 C がゼロなら、H を変えても無彩色の表示は変わりません。
調色ツールの「明るさ」とは違う?
ツールによって HSL、HSV、その他の表現を使います。HSL の L、HSV の V、OKLCH の L は異なる座標であり、似た名称でも数値を交換できません。
例えば異なる色相を HSL の L = 50% にしても、同じ明るさに見える保証はありません。数値の意味を説明する前に、どの体系かを確認します。ここで変換式を覚える必要はありません。実験が OKLCH から表示用の sRGB へ変換します。
手順で学ぶ:「この青は重い」と言われたら何を変える?
カップの色を選んでいるとします。「重い」は暗すぎる、鮮やかすぎる、あるいは画面で大きすぎるという意味かもしれません。三つのスライダーを同時に動かす前に、意味を分けます。
胴と持ち手の色だけを変え、背景、葉、形、位置は固定しています。同じ OKLCH 変換を使い、A は L=0.53、C=0.07、H=240°。B は L だけを 0.75、C は C だけを 0.018、D は H だけを 185°に変更しています。方向を分けるための数値で、暗記は不要です。
A → B:暗さが問題なら、まず明度を上げます。 カップは淡くなり、淡い背景との明暗差は小さくなります。軽く感じられる一方、輪郭が読みにくくなる可能性もあります。色選択画面の一色だけでなく、全体へ戻って確認します。
A → C:強く主張しすぎるなら、クロマを下げて試します。 明度座標を上げずに灰色へ近づけます。灰みの青と淡い青は同じではありません。すべての色のクロマを下げれば階層ができるわけでもありません。
A → D:「もう少し緑寄り」は色相の変更です。 色の家族の方向を変えています。もし本当の問題が文字の読みにくさなら、明暗を近いまま色相を回しても直らないかもしれません。
四つに共通の美しさの順位はありません。淡い商品画像なら B、控えめな挿絵なら C、植物との関係をつくるなら D を試せます。各判断に用途と周囲の条件を添えてください。
暖色、寒色、中性色を具体的に使う
赤、橙、黄は暖かい系統、青や一部の青緑は冷たい系統としてまとめられます。ただし局所的な比較も大切です。紫寄りの青と緑寄りの青を並べれば、冷暖の判断は変わり得ます。「青」という名前だけで画面全体の印象は説明できません。
厳密なモデルの中性色は無彩色軸を指すことがあります。一方、デザインの会話では低彩度のベージュ、灰褐色、青灰色も中性色と呼びます。完全に色相がないとは限りません。クリーム色は冷たい白の隣で暖かく、青灰色はクリーム色の隣で青く感じられることがあります。淡い背景の偏色も周囲に関わります。
まず暖かめか冷ための低彩度の地を選び、その隣に対象色の候補を置いて比べてみましょう。「白は全部同じ」「中性色は配色に影響しない」と仮定するより確かです。
三原色に違う組み合わせがある理由
画面は主に赤、緑、青の光を加えて色をつくります。カラー印刷ではシアン、マゼンタ、黄に黒のインクを組み合わせることが一般的です。伝統的な絵画教育では赤・黄・青の色相環も使います。色の系統を比べるには便利ですが、すべての画面や顔料に対する厳密な混合式ではありません。
したがって「青の補色は何か」には、まずどの色相環や混合系かが必要です。デザインでの青と橙の対比は伝統的な色相環の向かい合う系統を指すことが多く、RGB の各値を反転する操作とは別です。同じ「補色」という言葉でも結果の一致は保証されません。
顔料は具体的な色料、透明度、下地でも混ざり方が変わります。画面の色見本を並べても、絵具の混合を再現していません。実物の絵具では小さく試し混ぜをします。
繰り返し使う選色の手順
「青らしさを保ち、葉より明るいカップにする」のように変更目標を具体化します。関係する座標だけを動かし、同じ背景で新旧を比較し、輪郭と主従を確認します。直らなければ、面積、位置、周囲の色が問題なのかを考え直します。
実物の商品色を合わせるには、表示機器、照明、色管理、現物の校正も関わります。この色見本は判断方法の練習で、生産時の色校正に代わるものではありません。次の篇で完成した配色案に使います。
包装に応用:色相を変えれば境界は直る?
穏やかな色を保ち、淡い背景から包装の外縁を見分けやすくします。A が現状。B は OKLCH の明度とクロマを固定して青を緑方向へ、C は色相とクロマを固定して明度を下げました。最初の修正と、その代償を選んでください。
先に判断してから解説を開く
C は背景との明暗差を直接広げますが、包装自体は暗くなります。B は系統を変えても淡い明暗関係を保つため、境界の問題が残ります。包装を淡く保つ必要があれば、周囲の背景や枠線を変える案もあります。課題は外縁で、暗い TEA の文字は元から読めます。
二つの短い確認
状況一: ボタンを鮮やかにしたいが、明暗は意図的に変えたくありません。どの方向から試しますか。
考え方の例を開く
体系を確認し、明度と色相を固定してクロマを上げてみます。その後、実際の背景で結果を確かめます。表示できる色域には限界があり、数値だけで観察を置き換えることはできません。
状況二: 灰色の C はゼロです。H を動かしても変わりません。操作が壊れているのでしょうか。
考え方の例を開く
いいえ。無彩色には見える色相の方向がありません。この表現では C = 0 のとき H は出力に影響しません。少し C を加えてから H の変化を比べます。
分かりやすい説明に戻る
二色を比べるときは、「より明るい」「紫寄り」「より鮮明」と、一つの属性をまず言ってみましょう。その後で、複数の属性が一緒に変わる場合を考えます。
任意の実践:同じ色相の周辺の衣類や包装を、明暗で並べ、次に落ち着いた色から鮮やかな色へ並べます。二つの順番は一致しなくても構いません。
参考:Colour Literacy:色の属性、CSS Color 4:Oklab と OkLCh。光を足すことと絵の具を混ぜることは異なる過程で、この画面の色見本は絵の具の配合を教えるものではありません。