

放射シェーディングについて紹介します。円から円へのグラデーションです。
開始円・終了円の半径と座標を設定します。半径は0以上で、どちらか1つを0にすると点になります。
その他のパラメータは線形シェーディングと同じです。
★が付いたパラメータは変更可能です。色々と変えてみてください。
コード内の<< >>は本来英語記号ですが、ここでは入力できないため日本語記号<< >>を使用しています
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | %!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 240 240 %%Title:カラーグラデーション放射状 0 0 240 240 rectstroke 120 120 translate % 座標の原点を中央に移動 newpath << % シェーディング辞書の定義 /ShadingType 3 % 放射状シェーディング /ColorSpace /DeviceRGB % ★開始円/終了円の座標と半径 [ x0 y0 r0 x1 y1 r1 ] /Coords[ 0 0 0 0 0 100 ] /Extend [ false false ] % ★開始・終了点から色を延長する falseがデフォルト /Function << % 関数辞書の定義 /FunctionType 2 % 指数補間法 % 値は C0 + t ** N * (C1 - C0) /Domain [ 0 1 ] % [ 0 1 ] :デフォルト tは色関数への引数 バンド幅 /C0 [ 1 0 1 ] % ★開始色 マゼンタ /C1 [ 0 1 1 ] % ★終了色 シアン /N 1 % ★増加度合 1:デフォルト グラデーションのバランスを変える >> >> shfill % グラデーションで塗りつぶす |

開始円を左上に置き、球のようなイメージにします。
/Coords[ -60 60 10 0 0 100 ]
/C0 [ 1 0 1 ] % 開始色 イエロー
/C1 [ 0 1 1 ] % 終了色 マゼンタ

上記の設定でNを3にして、開始色のバランスを広くとっています。
/N 3

同じく上記の設定でNを0.5にして、終了色のバランスを広くとっています。
/N .5

開始円を終了円の外側に置いています。
/Coords[ -100 100 0 10 -10 100 ]
/C0 [0 1 .5 ] % 開始色 グリーン
/C1 [ 0 .5 1 ] % 終了色 ブルー

終了色を拡張しています。
/ColorSpace /DeviceGray
/Coords[ 0 0 0 0 0 100 ]
/Extend [ false true ]
/C0 [ 1 ] % 開始色 白
/C1 [ 0] % 終了色 黒
/N 4

線形シェーディングと放射シェーディングを組み合わせています。
バックのグラデーションが放射シェーディングの開始円の穴から見えています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | %!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 240 240 %%Title:カラーグラデーション放射状 0 0 240 240 rectstroke 120 120 translate % 座標の原点を中央に移動 % バックのグラデーション << % シェーディングの辞書定義 /ShadingType 2 % 線形シェーディング /ColorSpace /DeviceRGB % 色空間定義 /Coords [ 0 -100 0 100 ] /Extend [ false false ] % 開始・終了点から色を延長する falseがデフォルト /Function << % 関数辞書の定義 /FunctionType 2 % 指数補間法 /Domain [ 0 1 ] % バンド幅/1:デフォルト /C0 [ 1 1 0 ] % 開始色 イエロー /C1 [ 1 0.6 0] % 終了色 オレンジ /N 1 % グラデーションのバランス >> >> shfill % グラデーションで塗りつぶす % フレアと青空 % 開始円が空いているためバックのグラデーションが見えている << /ShadingType 3 % 放射状シェーディング /ColorSpace /DeviceRGB % 開始円/終了円の座標と半径 [ x0 y0 r0 x1 y1 r1 ] /Coords[ 0 0 85 0 0 120 ] /Extend [ false true ] /Function << /FunctionType 2 /Domain [ 0 1 ] /C0 [ 1 1 0 ] % 開始色 イエロー /C1 [ 0 .5 1 ] % 終了色 ブルー /N .5 >> >> shfill |
コメント