So-net無料ブログ作成
検索選択

タイリングパターンについて [PostScript]

PS BASIC


パターンテスト1.png
タイリングパターンとは図形を隙間なく平面に敷き詰めたものです。
タイリングパターンはPostScriptレベル2からの機能で、色付きと色なしがあります。
色付きとは基本となる図形に色を付けてパターン登録する方法で、色なしとは色を付けないでパターンを登録し、パターンを敷き詰める時に色を付ける方法です。
パターン作成と適用は以下の手順です。
(1)パターンの定義
(2)パターンのインスタンス化(実体化)
(3)色空間の選択
(4)パターン呼び出し

【サンプルコード】
%!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の関係図です。
パターンテスト説明.png
BBoxやXStep、YStepを変えるとパターンも変わります。 /BBox [-20 -20 0 0 ] /XStep 20 /YStep 20
パターンテスト2.png

パターンテスト3.png
次はパターン登録時に色は付けないで、パターンを敷き詰める時に色を付ける方法です。

【サンプルコード】
%!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
プロシージャに記述されている名前をオペレータに一括して置換する

タグ:PostScript
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:アート

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

トラックバックの受付は締め切りました