ColorTalk スクリプト (5)
あれこれ (2)
色分解
まず、効果をかける画像を複製して 3 枚のレイヤーにして、そのそれぞれに対して次の式をひとつずつ実行し、単色にします。
赤レイヤー ― green=0; blue=0;
緑レイヤー ― red=0; blue=0;
青レイヤー ― red=0; green=0;
上の 2 枚のレイヤーの合成方法を Lighten / 比較(明) に変更します。この状態でもとと同じに見えるはずです。でも色別に違うレイヤーにあるので、レイヤーをずらすと色をずらせたりします。ちなみに、見えている色は、赤レイヤーが Cyan、緑レイヤーが Magenta、青レイヤーが Yellow になります。
これだと CMYK の Black が足りないんですが、たぶんある数値より暗い部分を黒にすればいいんではないかと……。これはあくまで、印刷のためのカラーマネジメントとは関係ない世界でやってる RGB による色分解です。
ネガ反転・明度反転
ネガ反転は「効果」メニューからも簡単に実行できますが、ColorTalk での式はこうなります。
red=1-red; green=1-green; blue=1-blue;
上の式の結果は左側です。ここで色(色相・彩度)はそのままで、明度だけ反転すると、ネガのようでネガじゃない絵ができます。それが右。式は次のとおり。
value=value-1;
色相ずらし
「効果」の「色の調整」ダイアログで、色相スライダをずらすのと同じです。たとえば 50% (これは -50% と同じ)ずらす式はこうなります。(umod は 1 まで行ったら 0 につながって循環する数値に使用できる。)
hue=umod(hue+0.5);
左が元の絵。右が ColorTalk 処理後。
リング状色相変化
イメージ、あるいは選択範囲、の中心を起点にして、リング状に周囲へと色相変化させます。まず、どんな画像があっても上書きしてしまう方式。この方式で作成したレイヤーを画像の上に乗せて、合成方法を Hue / 色相にすると、その次の式と同じ結果になります。
t1=2; t2=0.75; value=0.5; saturation=1; hue=umod((distance*t2)*t1);
そして、画像そのものに働きかけて色相変化させる式。
t1=2; t2=0.75; hue=umod((distance*t2)*t1);
左が上の式、右が下の式の適用結果。
t1 は色相変化の速さの設定。1 が基本で 2 にすると画像内で色相が 2 回巡回します。t2 は色相の始点の設定。0 が青で、青からマゼンタ、赤、黄、緑へと変化します。色変化の方向を逆にするには、hue= のところを hue=1- にします。
角度で色相変化
イメージ、あるいは選択範囲、の中心に、時計の 3 時の方向を起点にして角度とともに色相を変化させます。まず、上書きしてしまう方式。これを画像の上に乗せて、合成方法を Hue / 色相にすると、その次の式と同じ結果になります。
value=0.5; saturation=1; hue=uatan2(y-0.5,x-0.5);
そして、画像そのものに働きかけて色相変化させる式。
hue=uatan2(y-0.5,x-0.5);
左が上の式、右が下の式の適用結果。こっちの式は angle じゃなくて座標の x,y に基づいて画像の中心を取っているので、簡単に変更できません。(HSV hexcone の式のバリエーションです。)
(Last Modified: 2003/10/17)
|