半円形に色を塗ってみましょう。
線を描くときはstrokeでしたが、図形内部を塗るときはfillを使います。
1
2
3
4
5
6
7
8
9 %!PS-Adobe-3.0 EPSF-3.0
%%BoundingBox: 0 0 240 240
%%Title:塗りつぶす
120 120 translate % 座標の原点を中央に移動
newpath % パスの初期化
0 0 90 270 90 arc % 中心(0、0)半径90で円を引く
closepath % パスを閉じる
1 .5 0 setrgbcolor % オレンジ色
fill % パスの内部を塗りつぶす
【オペレータの説明】
fill | 指定された領域を塗りつぶす。 |
図形に線と塗りは同時に付けることができません。
1度strokeやfillすると現在のパスがクリアされてなくなってしまうのです。
そこでデータを一時的に保存しておき、クリアされた後にデータを復帰させて使用することができます。
それがgsave(グラフィックス状態の保存)とgrestore(グラフィックス状態の復元)オペレータです。
1
2
3
4
5
6
7
8
9
10
11
12
13
14 %!PS-Adobe-3.0 EPSF-3.0
%%BoundingBox: 0 0 240 240
%%Title:線と面に色をつける
120 120 translate % 座標の原点を中央に移動
newpath % パスの初期化
0 0 90 270 90 arc % 中心(0、0)半径90で円を引く
closepath % パスを閉じる
gsave % ここまでのグラフィック状態を保存
1 .5 0 setrgbcolor % オレンジ色
fill % パスの内部を塗りつぶす
grestore % グラフィック状態を復元する
0 0 0 setrgbcolor % 黒色
10 setlinewidth % 線幅10ポイント
stroke % 線を描画する
【オペレータの説明】
gsave | グラフィックス状態のコピーを保存する。 |
grestore | 保存しておいたコピーを取り出しグラフィックス状態を復元する。 |
コメント