配色の基礎知識:補色の理論とプログラミングによる実装方法

補色とは

「ある色を引き立たせるためには何色を使えばよいか」と考えます。
これを補色と言います。
赤と緑、青と黄がこの関係にあります。

Wikipediaには次の通り説明があります。

補色とは、色相環で正反対に位置する関係の色の組合せ
補色同士の色の組み合わせは、互いの色を引き立て合う相乗効果

計算方法

補色は計算で求められます。

https://helpx.adobe.com/jp/illustrator/using/adjusting-colors.html

カラーの各構成要素を、選択したカラーの最大の RGB 値と最小の RGB 値の合計を元にして、新しい値に変更します。現在のカラーの RGB 値のうち最大と最小の値が合計され、その値から各構成要素の値を引いて、新しい RGB 値が生成されます。例えば、RGB 値がレッド 102、グリーン 153、ブルー 51 であるカラーを選択したとします。この場合、まず最大値である 153 と最小値である 51 を合計して 204 という値が算出されます。この値から既存のカラーの RGB 値がそれぞれ差し引かれます。つまり、新しいレッドの値は 204 – 102(現在のレッドの値)= 102、グリーンの値は 204 – 153(現在のグリーンの値)= 51、ブルーの値は 204 – 51(現在のブルーの値)= 153 となり、新しい補色の RGB 値が生成されます。

サンプルコード

Pythonで関数にしてみました。

def complementary_color(r, g, b):
    t = max(r, g, b) + min(r, g, b)
    return tuple(max(0, min(255, t - x)) for x in (r, g, b))

コメント

タイトルとURLをコピーしました