PSにおけるグラフィックス状態(graphics states)の操作

C++ APIを使用してPSファイルのグラフィックス状態をクリップ(clip)および変換(transform)する

 

PostScriptにおいて、グラフィックス状態(graphic state)とは、ページ上でグラフィックスがどのように描画されるかを定義する属性の集合であり、単一のコマンドセットで複雑かつ多様なグラフィックスを作成できます。グラフィックス状態を保存および復元することで、冗長な操作を避けることができます。また、再利用可能なグラフィックスタイルを定義し、ドキュメントの異なる部分に適用することもできます。グラフィックス状態には以下の設定が含まれます:

  • 線の太さ(ラインウィジス / line width)。
  • 線の端点の形状(丸、四角、またはバット / butt)。
  • 線の結合部の形状(マイター / miter、丸 / round、またはベベル / bevel)。
  • 線と塗りつぶしの色(RGB、CMYK、またはグレースケール)。
  • テキストに使用されるフォントとそのサイズ。
  • 座標変換に使用される行列(拡大縮小、回転、平行移動)。

PSドキュメントにおけるグラフィックス状態の管理(XPSのキャンバスに相当)は、Aspose.Page for C++が提供する主要機能の1つです。

PSファイルのグラフィックス状態を変換(transform)するには、次のガイドに従ってください:

  1. PsDocumentクラス を使用してPSファイルを作成します。
  2. 四角形のグラフィックスパスを作成します。
  3. 現在のグラフィックス状態を保存し、新しいグラフィックス状態を作成して、 WriteGraphicsSave() メソッドで現在の状態として設定します。
  4. Translate() メソッドを使用して、現在のグラフィックス状態を移動します。
  5. SetPaint() メソッドで、現在のグラフィックス状態にペイントを設定します。
  6. Fill() メソッドを使用してグラフィックスパスを塗りつぶします。
  7. WriteGraphicsRestore メソッドで前のグラフィックス状態を復元します。
  8. Scale()Rotate()Shear()Transform() メソッドを使用してより多くのグラフィックス状態を他の変換で追加するには、手順3〜7を繰り返します。
  9. ClosePage() メソッドを使用して現在のページを閉じます。
  10. PsDocument.Save() メソッドを使用して作成したPSドキュメントを保存します。
PSのグラフィックス状態を変換する(Transform graphics states)

PSファイルのグラフィックス状態にクリップ(Clips)を追加するには、次のガイドに従ってください:

  1. PsDocumentクラス を使用してPSファイルを作成します。
  2. 四角形のグラフィックスパスを作成します。
  3. 現在のグラフィックス状態を保存し、新しいグラフィックス状態を作成して、 WriteGraphicsSave() メソッドで現在の状態として設定します。
  4. Translate() メソッドを使用して、現在のグラフィックス状態を移動します。
  5. 円形のグラフィックスパスを作成します。
  6. Clip() メソッドを使用して、現在のグラフィックス状態に円形クリップを追加します。
  7. SetPaint() メソッドで、現在のグラフィックス状態にペイントを設定します。
  8. Fill() メソッドを使用して四角形のグラフィックスパスを塗りつぶします。
  9. WriteGraphicsRestore() メソッドで前のグラフィックス状態を復元します。
  10. Translate() メソッドを使用して、現在のグラフィックス状態を移動します。
  11. System.Drawing.Penオブジェクトを作成します。
  12. SetStroke() メソッドで、現在のグラフィックス状態にストロークを設定します。
  13. Draw() メソッドを使用して、クリップされた四角形の上に四角形のグラフィックスパスを描画します。
  14. ClosePage() メソッドを使用して現在のページを閉じます。
  15. PsDocument.Save() メソッドを使用して作成したPSドキュメントを保存します。
PSのグラフィックス状態にクリップを追加する

PS PS ファイル形式とは

PS (PostScript) は、テキストとグラフィックを 1 ファイルに統合するページ記述言語です。多くの画像編集・印刷ソフトでサポートされ、プリンタ向けの描画指示を含みます。