So-net無料ブログ作成

オーバープリントについて [PostScript]

PS BASIC


オーバープリントとは例えば赤いセロファンと青いセロファンを重ねると、重なった部分が紫色になるという透明効果のことです。
デザイン・印刷業界ではノセと言います。

オーバープリントヌキ.png
同じように赤い色紙と青い色紙を重ねても、重なった部分は上になる色です。不透明なので当然ですね。これはヌキアワセ(ケヌキアワセ)と言います。

PostScriptは透明機能がありません。そこでせめてオーバープリントで混色できないかと試行しました。

Postscriptでもオーバープリント設定がありますが、混色された状態で見ることができません。またOSXのプレビューでも対応していません。
DistillerでPDF化すると表示は混色されていますが、画像として書きだしても混色されていませんでした。オーバープリントは印刷時に適用されるものなので仕方がないのです。
何とかオーバープリントの画像ができないかと試したのがIllustratorで書き出す方法です。

オーバープリントした画像を作成する手順

(1)PostScriptプログラムでsetoverprintをtrueにしてepsファイル作成。
(2)epsファイルをAdobe Illustratorで開き、各種ファイルフォーマットで書き出す

以上

何とかフリーウエア等で、できないかと思ったのですが。。。


(注意)

※CMYKモードでなければオーバープリントはできません。
※CMYKモードのため色がくすんでしまいます。
※重ね順や同色どうしの混色などではオーバープリント効果がでないことがあります。

【サンプルコード】
オーバープリント.png
%!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 240 240 %%Title:オーバープリント /DeviceCMYK setcolorspace % CMYK色空間にする /en { 0 360 arc fill } def % 円のプロシージャ /cy { 1 0 0 0 setcmykcolor } def % Cyan /ma { 0 1 0 0 setcmykcolor } def % Magenta /ye { 0 0 1 0 setcmykcolor } def % Yellow /i 0 def % 色変更スイッチ 0 0 240 240 rectstroke % 黒枠で囲む 120 120 translate % 座標の原点を中央に移動 newpath % パスの初期化 true setoverprint % オーバープリント設定 3 { % 3回繰り返す i 0 eq { cy } { % iが0ならCyan i 1 eq { ma } % iが1ならMagenta { ye } ifelse } ifelse % それ以外ならYellow 0 40 70 en % (0,40)に半径70の円を描く 120 rotate % 120度回転 /i i 1 add def % i=i+1 } repeat


【サンプルコード】
オーバープリント2.png
%!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 240 240 %%HiResBoundingBox: 0 0 240 240 %%Title:ランダムな円形を描く % 所々にオーバープリント効果が出ています。 /x { rand 101 mod 50 sub 3 mul } def % x座標(-150〜150 3刻み) /y {rand 101 mod 50 sub 3 mul } def % y座標(-150〜150 3刻み) /r 20 def % 半径 /DeviceCMYK setcolorspace % CMYK色空間にする /randam_color { % ランダムカラー設定 /cy rand 5 mod 0.1 mul def % Cyan色(0.0~0.4 0.1刻み) /ma rand 5 mod 0.1 mul def % Magenta色(0.0~0.4 0.1刻み) /ye .5 def % Yellow 0.5 cy ma ye 0 setcolor カラー設定 } def 120 120 translate % 座標の原点を中央に移動 % 黒四角(円がはみ出すのでclipしている) 120 120 moveto -240 0 rlineto 0 -240 rlineto 240 0 rlineto closepath clip stroke true setoverprint % オーバープリント設定 newpath % パスの初期化 50 { % 50回、{ }内を繰り返す randam_color % ランダムカラー設定 x y r 0 360 arc fill % 円を描く } repeat



【オペレータの説明】
色空間ファミリ名 setcolorspace
色空間を設定し、初期化する。
色空間ファミリ名:DeviceGray、DeviceRGB、DeviceCMYK

(例)
/DeviceRGB setcolorspace
色値1〜色値n setcolor
色値を設定する。
setcolorは上記のsetcolorspaceと共に使用する。
色値の個数はカラースペース(色空間)によって異なる。RGBなら色値はred、green、blueの3個、CMYKならCyan、Magenta、Yellow、Key Plateの4個になる。
※ setrgbcolorやsethsbcolor、setcmykcolorは色空間と色値を同時に設定する
(例)
/DeviceRGB setcolorspace
1 0 0 setcolor

論理値 setoverprint
trueでオーバープリントを設定する。
何も記述しない場合はfalse。

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

nice! 0

コメント 0

コメントを書く

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

トラックバック 0

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