[Eos-document] [eos - ドキュメント作成] Re: psFileImageSpaceRestoreとpsFileImageSpaceRotateRestoreの違い

アーカイブの一覧に戻る

SourceForge Forum norep****@sourc*****
2014年 10月 8日 (水) 20:59:35 JST


このメールはSourceForge.JPのフォーラムからの自動転送です。
注意: このメールに返信しても単に無視されます。

フォーラムメッセージへの返信は以下のURLにアクセスしてください:
https://sourceforge.jp/projects/eos/forums/31695/36047/74558/

投稿者: Takuo Yasunaga (tacyas)

[メッセージ #74556 への返信]
> 前提として確認して頂きたいことがありますので、実質2
つの質問事項となります。
> 
> 
> 【質問1】前提の質問です。
> あるPostScriptファイル開いたところの"gsave"と"grestore"がそれ
ぞれ連続で書かれていましたが、この2つはスコープ(括弧)
のような働きができるのでしょうか。
> 
> 例えば、
> 
> gsave
> 1.000000 1.000000 scale
> 0.000000 0.000000 translate
> 処理1
> gsave
> 2.000000 2.000000 scale
> 3.000000 3.000000 translate
> 処理2
> grestore
> 処理3
> grestore
> 
> 上記のような構文があった場合
> 処理1, 3は1.000000 1.000000 scale, 0.000000 0.000000 translate、
> 処理2は2.000000 2.000000 scale, 3.000000 3.000000 translate
> の設定で処理が行われるのでしょうか。
> 
> -経緯-
> これまでgsaveは現在の設定を保存、grestoreは保存したデー
タに戻るとだけ思って、複数の設定を記憶できると思って
いませんでしたので、上記の疑問が出てきました。
> 

 gsave/grestoreは、グラフィックスのためのスタックを利用す
る方法です。
したがって、gsaveがpush,
grestoreがpopと思って頂ければと思います。
スタックですので、LIFO(Last In FIrst
Out)です。grestoreで、最後のgsaveの
前の状態が戻ってきます。
> 


> 【質問2】gsave,
grestoreの動作が質問1の推測通りだった場合の質問です。
> /src/Objects/DataExpress/psFile/src/psFileImage.cにて
> 
> psFileImageSpaceRotateRestoreとpsFileImageSpaceRestoreは同じ処理で、
> grestoreをpsファイルに記述するだけですが、
> これはpsFileImageSpaceRotateSetやpsFileImageSpaceSetのうちどちらの
処理の終わりを意味するのかをはっきりさせるためにあえ
て別々にしているのでしょうか。
> 
> その場合は、
> SetとRestoreは常に対に使用するということですよね。(こち
らの注意事項をドキュメントに記載しようと思います)

はい。どちらの場合も、grestoreで戻すことが出来ます。
Setと組になっていると思っていただければよく、想像の通
りです。

中身がどうなっているか知らなくても、Set/Restoreの組み合わ
せで済ませてもらいたく、将来、grestore以外の命令がはいる
可能性もあるとお考え頂ければと思います。


______________________________________________________________________
Eos-Image Analysis Environment プロジェクトはフォーラムへの投稿をプロジェクトメンバーに
メール送信するように設定されています。
設定の詳細に関しては、プロジェクト管理者に確認してください。




Eos-document メーリングリストの案内
アーカイブの一覧に戻る