在 PS 中使用图形状态 (graphics states)
使用 C++ API 裁剪 (clip) 和转换 (transform) PS 文件的图形状态
在 PostScript 中,图形状态 (graphic state) 是属性的集合,用于定义如何在页面上绘制图形,并允许您使用单个命令集创建复杂多样的图形。通过保存和恢复图形状态,可以避免冗余操作。您还可以定义可重用的图形样式并将其应用于文档的不同部分。图形状态包括以下设置:
- 线条的粗细(线宽 / line width)。
- 线条端点的形状(圆形、方形或平齐 / butt)。
- 线条之间连接处的形状(斜角 / miter、圆形 / round 或斜切 / bevel)。
- 线条和填充的颜色(RGB、CMYK 或灰度)。
- 用于文本的字体及其大小。
- 用于变换坐标的矩阵(缩放、旋转、平移)。
管理 PS 文档中的图形状态(相当于 XPS 中的 canvas)是 Aspose.Page for C++ 提供的主要功能之一。
要转换 (transform) PS 文件的图形状态,请按照以下指南操作:
- 使用 PsDocument 类 创建 PS 文件。
- 创建矩形图形路径。
- 保存当前图形状态,创建新图形状态,并使用 WriteGraphicsSave() 方法将其设置为当前状态。
- 使用 Translate() 方法平移当前图形状态。
- 使用 SetPaint() 方法在当前图形状态中设置颜料。
- 使用 Fill() 方法填充图形路径。
- 使用 WriteGraphicsRestore 方法恢复之前的图形状态。
- 重复步骤 3-7,使用 Scale() 、 Rotate() 、 Shear() 和 Transform() 方法添加更多具有其他变换的图形状态。
- 使用 ClosePage() 方法关闭当前页面。
- 使用 PsDocument.Save() 方法保存创建的 PS 文档。
转换 PS 的图形状态 (Transform graphics states)
要向 PS 文件的图形状态添加裁剪 (Clips),请按照以下指南操作:
- 使用 PsDocument 类 创建 PS 文件。
- 创建矩形图形路径。
- 保存当前图形状态,创建新图形状态,并使用 WriteGraphicsSave() 方法将其设置为当前状态。
- 使用 Translate() 方法平移当前图形状态。
- 创建圆形图形路径。
- 使用 Clip() 方法向当前图形状态添加圆形裁剪 (clip)。
- 使用 SetPaint() 方法在当前图形状态中设置颜料。
- 使用 Fill() 方法填充矩形图形路径。
- 使用 WriteGraphicsRestore() 方法恢复之前的图形状态。
- 使用 Translate() 方法平移当前图形状态。
- 创建一个 System.Drawing.Pen 对象。
- 使用 SetStroke() 方法在当前图形状态中设置描边 (stroke)。
- 使用 Draw() 方法在裁剪后的矩形上方绘制矩形图形路径。
- 使用 ClosePage() 方法关闭当前页面。
- 使用 PsDocument.Save() 方法保存创建的 PS 文档。
向 PS 的图形状态添加 Clip
PS What is PS File Format
PS(PostScript)是一种页面描述语言,将文本和图形合并在同一文件中。被多数图像编辑软件和打印机支持,包含打印机渲染页面的指令。