将图像插入 PS 文件
用于处理 PS 文档图像的 C++ API 解决方案
在开始处理 PostScript 文件中的图像之前,您需要了解一些特性,这些特性可能会让您更轻松地完成这项工作。以下是几个关键点:
- PostScript 不支持透明度,因此添加到 PS 文档的半透明图像将转换为每像素 24 位 RGB 图像并渲染为不透明。唯一的例外是每像素 1 位图像蒙版,即每个像素完全不透明或完全透明的图像。对于这种情况,Aspose.Page 的 PsDocument 提供了一个带有透明度阈值参数 (TT) 的单独方法 DrawTransparentImage()。此参数有助于将半透明图像转换为每像素 1 位的图像蒙版。如果像素的 Alpha 通道大于或等于 TT,则像素变为完全透明。否则,它将是完全不透明的。例如,如果 TT 为 255,则只有完全透明的像素才会完全透明。其余像素将变得完全不透明。
- PostScript 支持各种图像压缩技术,例如 JPEG 和 LZW,压缩级别会影响图像质量和文件大小。
- 当您调整 PostScript 文件中的图像大小时,计算机需要找出新像素的颜色。它使用不同的技术(称为插值方法)来执行此操作。您选择的方法会影响图像的外观,尤其是在放大或缩小图像时。因此,选择正确的方法以获得最佳质量非常重要。
- 当包含高分辨率图像或多幅图像时,PS 格式的文件可能会变得非常大。这可能会影响文件传输和处理时间,因此如果需要,可以通过降低分辨率来优化图像数据大小。
请记住这些方面,以确保在基于 PostScript 的工作流程中正确的图像集成和准确的渲染。但无论如何,Aspose.Page 为您提供了在 PS 文件中轻松添加图像的功能。通过此 API,您可以使用 C++ 添加不同的图像。要了解有关如何处理 PS 文件以及如何处理 PS 文件中的图像的更多信息,请特别关注文档。
要将图像添加到 PS 文档中,我们需要:
Aspose.Page for C++ API 是一个功能丰富、功能强大且易于使用的文档操作和转换 C++ API。
打开 NuGet 包管理器,搜索 Aspose.Page.Cpp 并安装。您还可以从包管理器控制台使用以下命令。
Package Manager Console Command
PM> Install-Package Aspose.Page.Cpp
将图像添加到 PS 文件的步骤。
下面的代码创建一个 PS 文档,向其中添加图像,对图像应用变换,并使用指定的设置保存文档。要查看更多示例,请访问 Aspose.Page for C++ GitHub 项目 。
- 为生成的 PS 文件创建输出流。
- 使用默认选项创建一个 PsSaveOptions 对象。如果需要,更改背景颜色。
- 使用输出流、选项和 false 作为参数创建 PsDocument 的新实例。这将使用指定的选项初始化一个新的 PostScript 文档。
- 创建新的图形状态。
- 从图像文件创建System.Drawing.Bitmap。
- 为图像创建必要的变换。
- 如果我们确定图像是不透明的,则将图像作为完全不透明的图像添加到 PsDocument(使用 AddImage() 方法);如果我们不确定图像是不透明的,则将图像添加为透明图像(使用 AddTransparentImage() 方法)不透明。
- 从当前图形状态退出到上一级。
- 调用 ClosePage() 表示当前页面完成。
- 使用 Save() 方法保存更改。
将图像添加到 PS
PS 什么是PS文件格式
PS 格式是页面描述语言 (PDL) 格式之一。它能够在页面上包含图形和文本信息。这就是为什么大多数图像编辑程序都支持该格式的原因。 postscript 文件本身就是对打印机的一种指令。它包含有关从其页面打印什么以及如何打印的信息。