

タイリングパターンとは図形を隙間なく平面に敷き詰めたものです。
タイリングパターンはPostScriptレベル2からの機能で、色付きと色なしがあります。
色付きとは基本となる図形に色を付けてパターン登録する方法で、色なしとは色を付けないでパターンを登録し、パターンを敷き詰める時に色を付ける方法です。
パターン作成と適用は以下の手順です。
(1)パターンの定義
(2)パターンのインスタンス化(実体化)
(3)色空間の選択
(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 38 39 40 41 42 | %!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 240 240 %%Title:タイリングパターンパターン(色付き) 0 0 240 240 rectstroke 120 120 translate << /PatternType 1 % 1:タイリングパターン/2:シェーディングパターン /PaintType 1 % 1:色つき/2:色なし /TilingType 1 % 1:一定間隔/2:歪みなし/3:一定間隔の高速タイリング %(必須)パターンセルのバウンディングボックスの左下隅と右上隅を指定する /BBox [-20 -20 20 20 ] /XStep 50 % パターンセルを水平方向に配置する間隔をパターン座標系で指定 /YStep 50 % パターンセルを垂直方向に配置する間隔をパターン座標系で指定 % 1.パターンを定義 /maru { 1 0 .5 setrgbcolor % ピンクの円 0 0 20 0 360 arc fill 45 rotate %黄色のダイヤ型 1 .8 0 setrgbcolor -5 -5 10 10 rectfill } def /PaintProc { % パターンセルを描画する手続き % 辞書をポップする以外、スタックの変更不可 begin % 辞書スタックにパターンをプッシュする maru end } bind >> % パターン辞書のプロトタイプの終了 %2. パターンのインスタンス化 matrix % パターン座標 makepattern % パターンのインスタンスの生成 /maruP exch def % インスタンスをmaruPにいれる %3. 色空間の選択 /Pattern setcolorspace %4. パターン呼び出し maruP setcolor -100 -100 200 200 rectfill % 矩形にパターンを描画する |

BBoxとXStep/YStepの関係図です。

BBoxやXStep、YStepを変えるとパターンも変わります。
/BBox [-20 -20 0 0 ]
/XStep 20
/YStep 20

次はパターン登録時に色は付けないで、パターンを敷き詰める時に色を付ける方法です。
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 | %!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 240 240 %%Title: タイリングパターンパターン(色なし) 0 0 240 240 rectstroke 120 120 translate << /PatternType 1 % 1:タイリングパターン/2:シェーディングパターン /PaintType 2 % 1:色つき/2:色なし /TilingType 1 % 1:一定間隔/2:歪みなし/3:一定間隔の高速タイリング %(必須)パターンセルのバウンディングボックスの左下隅と右上隅を指定する /BBox [-20 -20 20 20 ] /XStep 50 % パターンセルを水平方向に配置する間隔をパターン座標系で指定 /YStep 50 % パターンセルを垂直方向に配置する間隔をパターン座標系で指定 /PaintProc { % パターンセルを描画する手続き pop % パターン辞書をポップする % 1.パターンを定義 0 0 20 0 360 arc fill % 円(塗りつぶしのみ、色はつけていない) } bind >> % パターン辞書のプロトタイプの終了 %2. パターンのインスタンス化 matrix % パターン座標 makepattern % パターンのインスタンスの生成 /maruP exch def % インスタンスをmaruPにいれる %3. 色空間の選択 [/Pattern /DeviceRGB] setcolorspace %4. パターン呼び出し(先頭で色設定) .9 .4 .8 maruP setcolor -100 -100 100 100 rectfill .6 .5 .85 maruP setcolor 0 -100 100 100 rectfill .75 .7 0 maruP setcolor -100 0 100 100 rectfill .3 .7 .8 maruP setcolor 0 0 100 100 rectfill 1 0.7 0 maruP setcolor 0 0 70 0 360 arc fill |
【オペレータの説明】
<< | 辞書の構築を開始 |
>> | 辞書の構築を終了 |
辞書 begin | 辞書を辞書スタックにプッシュする |
end | カレント辞書を辞書スタックからポップする |
プロシージャ bind | プロシージャに記述されている名前をオペレータに一括して置換する |
コメント