将几何图形添加到 PS 文件中
用于处理 PS 文件形状的 C# .NET API 解决方案
在 PostScript (PS) 文件中绘制几何图形有一些值得注意的特点:
- 虽然 PostScript 使用原点 (0, 0) 位于页面左下角的坐标系,但 Aspose.Page PsDocument 会转换 PS 图形状态,使原点位于左上角。这样比较方便,因为我们通常将页面内容从上到下、从左到右放置。
PostScript 中的测量单位是点,其中 1 点等于 1/72 英寸。因此,在指定几何图形的坐标或尺寸时,请考虑这种基于点的测量。
- 在 PostScript 中,几何图形是通过定义一系列连接的线段、曲线或两者的路径来构造的。路径是使用一系列命令定义的,例如
newpath
,moveto
,lineto
,curveto
,arc
和closepath
。它们用于控制当前点的移动并定义路径的形状。还有一个绘制或填充矩形的命令(rectfill
和rectstroke
)。 Aspose.Page 的 PsDocument 简化了几何形状的绘制和填充,仅接受 System.Drawing.Drawing2D.GraphicsPath 对象,该对象可以包含一个或多个子路径,由连接和/或断开的直线和曲线段组成。但是,PsDocument 还包含用于低级绘图的方法,例如 DrawLine()、DrawPolyLine()、Draw(Fill)Arc()、Draw(Fill)Oval()、Draw(Fill)Rect()、Draw(Fill) RoundRect()、绘制(填充)多边形()。 调用绘图命令的顺序很重要。如果两个图形重叠,则后绘制的图形将出现在前一个图形的上方。
PostScript 允许您设置单独的绘画来填充和勾画图形。考虑到 PostScript 支持多种颜色空间,Aspose.Page 仅提供以下绘画:RGB 纯色、纹理和填充图案、最流行的线性和路径渐变填充。
由于 PostScript 不支持透明度,因此与另一个形状重叠的半透明形状会将其隐藏在重叠的位置。 Aspose.Page 的 PsDocument 对不与其他形状重叠但位于白色背景上的彩色图形执行伪透明。在这种情况下,最终的 RGB 颜色将通过考虑图形颜色的 alpha 值来计算。
它还支持各种变换操作,例如缩放、旋转、平移和剪切,以便您可以修改形状的大小、方向和位置。
- PS 提供剪切区域和蒙版功能,允许您将绘图限制在形状的特定区域。
了解这些方面将使您能够确保在基于 PostScript 的工作流程中正确的形状集成和准确的渲染。但无论如何,Aspose.Page 为您提供了在 PS 文件中轻松绘制几何形状的功能。通过此 API,您可以使用 C# 添加不同的图像。要了解有关如何处理 PS 文件以及如何使用 PS 文件中的形状的更多信息,请特别关注文档。
要将形状添加到 PS 文档,我们需要:
Aspose.Page for .NET API 是一个功能丰富、功能强大且易于使用的 C# 平台文档操作和转换 API。
打开 NuGet 包管理器,然后搜索 Aspose.Page 并安装。您还可以从包管理器控制台使用以下命令。
Package Manager Console Command
PM> Install-Package Aspose.Page
将图形添加到 PS 文件 C# 的步骤。
下面的代码创建一个 PS 文档,向其中添加一个矩形,并用橙色绘制它。要查看更多示例,请访问 Aspose.Page-for-.NET GitHub 项目 。
- 使用 FileStream 类为 PostScript 文档创建输出流。
- 创建一个 PsSaveOptions 对象来指定 PostScript 文档的保存选项。
- 使用 System.Drawing.Drawing2D.GraphicsPath 类创建图形路径,并使用 System.Drawing.RectangleF 类指定矩形的坐标和尺寸。
- 使用 SetPaint() 方法指定矩形的颜色。
- 调用 Fill() 方法将指定的颜色添加到矩形中。
- 调用 ClosePage() 表示当前页面已完成。
- 使用 Save() 方法保存更改。
将几何形状插入 PS 文件的 C# 代码
using Aspose.Page.EPS;
using Aspose.Page.EPS.Device;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.IO;
//Create an output stream for PostScript document
using (Stream outPsStream = new FileStream(dataDir + "AddRectangle_outPS.ps", FileMode.Create))
{
//Create save options with A4 size
PsSaveOptions options = new PsSaveOptions();
// Create a new 1-paged PS Document
PsDocument document = new PsDocument(outPsStream, options, false);
//Create a graphics path from the first rectangle
System.Drawing.Drawing2D.GraphicsPath path = new System.Drawing.Drawing2D.GraphicsPath();
path.AddRectangle(new System.Drawing.RectangleF(250, 100, 150, 100));
//Set the paint
document.SetPaint(new System.Drawing.SolidBrush(Color.Orange));
//Fill the rectangle
document.Fill(path);
//Close the current page
document.ClosePage();
//Save the document
document.Save();
}
常问问题
1. 是否可以向 PostScript 文件添加几何图形或形状?
是的,您可以使用 PostScript 语言提供的各种绘图运算符将几何图形或形状添加到 PostScript 文件中。这些运算符允许您绘制基本形状,例如矩形、圆形、直线和多边形,以及更复杂的几何结构。
2. 如何将几何图形或形状添加到 PS 文件中?
要使用 Aspose.Page 将几何图形或形状添加到 PostScript 文件中,您需要使用 System.Drawing.Drawing2D.GraphicsPath 类创建图形路径,并使用 System.Drawing.Rectangle 指定矩形的坐标和尺寸 班级。然后使用 SetPaint() 和 Fill() 方法来管理图形颜色。
3. 是否有可在 PostScript (PS) 文件中使用的预定义形状或模板?
虽然 PostScript 本身不像某些其他图形格式那样提供预定义的形状或模板,但您可以通过在单独的 PostScript 文件中定义它们或将它们作为可重用代码片段合并到您的工作流程中来创建自己的可重用形状库。
PS 什么是PS文件格式
PS 格式是页面描述语言 (PDL) 格式之一。它能够在页面上包含图形和文本信息。这就是为什么大多数图像编辑程序都支持该格式的原因。 postscript 文件本身就是对打印机的一种指令。它包含有关从其页面打印什么以及如何打印的信息。