ログインしていません。このフォーラムはログインユーザのみに投稿が許可されています。投稿する場合はログインしてください。
ダウンロード
Magazine
開発
アカウント
ダウンロード
Magazine
開発
ログイン
アカウント/パスワードを忘れた
アカウント作成
言語
ヘルプ
言語
ヘルプ
×
ログイン
ログイン名
パスワード
×
アカウント/パスワードを忘れた
日本語の翻訳状況
カテゴリ:
ソフトウェア
人物
PersonalForge
Magazine
Wiki
検索
OSDN
>
ソフトウェアを探す
>
科学/工学
>
情報分析
>
Eos-Image Analysis Environment
>
フォーラム
>
ドキュメント作成
>
psFileImageSpaceRestoreとpsFileImageSpaceRotateRestoreの違い
Eos-Image Analysis Environment
Fork
others2
data
tutorial
optional
others
hostdependX86LINUX64
hostdependX86MAC64
hostdependX86LINUX64ICC
hostdependOTHERS
base
zephyr
hostdependARM64MAC64
概要
プロジェクト概要
開発ダッシュボード
Webページ
開発メンバー
画像ギャラリー
公開フィード一覧
活動
統計情報
活動履歴
ダウンロード
リリース一覧
統計
ソースコード
コードリポジトリリスト
Git
others2
data
tutorial
optional
others
hostdependX86LINUX64
hostdependX86MAC64
hostdependX86LINUX64ICC
hostdependOTHERS
base
zephyr
hostdependARM64MAC64
チケット
チケット一覧
マイルストーン一覧
チケットの種類一覧
コンポーネント一覧
よく使われるチケット一覧のリスト/RSS
新規チケット登録
文書
FrontPageの表示
ページ一覧
最近の更新
コミュニケーション
フォーラム
フォーラム一覧
ヘルプ (1)
公開討議 (1)
ドキュメント作成 (55)
開発者 (1)
メーリングリスト
MLの一覧
eos-developers
eos-document
eos-users
ニュース
フォーラム:
ドキュメント作成
(スレッド #36047)
話題(スレッド)一覧に戻る
RSS
psFileImageSpaceRestoreとpsFileImageSpaceRotateRestoreの違い (2014-10-08 17:27 by
kinoshita-eos
#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は保存したデータに戻るとだけ思って、複数の設定を記憶できると思っていませんでしたので、上記の疑問が出てきました。
【質問2】gsave, grestoreの動作が質問1の推測通りだった場合の質問です。
/src/Objects/DataExpress/psFile/src/psFileImage.cにて
psFileImageSpaceRotateRestoreとpsFileImageSpaceRestoreは同じ処理で、
grestoreをpsファイルに記述するだけですが、
これはpsFileImageSpaceRotateSetやpsFileImageSpaceSetのうちどちらの処理の終わりを意味するのかをはっきりさせるためにあえて別々にしているのでしょうか。
その場合は、
SetとRestoreは常に対に使用するということですよね。(こちらの注意事項をドキュメントに記載しようと思います)
Re: psFileImageSpaceRestoreとpsFileImageSpaceRotateRestoreの違い (2014-10-08 20:59 by
tacyas
#74558)
チケットに引用
[メッセージ #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以外の命令がはいる可能性もあるとお考え頂ければと思います。
#74556
への返信