放射シェーディングについて紹介します。円から円へのグラデーションです。
開始円・終了円の半径と座標を設定します。半径は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
コメント