向 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 项目

  1. 为生成的 PS 文件创建输出流。
  2. 使用默认选项创建一个 PsSaveOptions 对象。如果需要,更改背景颜色。
  3. 使用输出流、选项和 false 作为参数创建一个新的 PsDocument 实例。这将使用指定的选项初始化一个新的 PostScript 文档。
  4. 创建一个新的图形状态。
  5. 从图像文件创建 System.Drawing.Bitmap。
  6. 为图像创建必要的变换。
  7. 如果我们确定图像是不透明的,则将图像作为完全不透明的图像添加到 PsDocument 中(使用 AddImage() 方法);如果我们不确定,则将其作为透明图像添加(使用 AddTransparentImage() 方法)。
  8. 从当前图形状态退出到上一层状态。
  9. 调用 ClosePage() 以指示当前页面已完成。
  10. 使用 Save() 方法保存更改。
向 PS 添加图像

PS 什么是PS文件格式

PS(PostScript)是一种页面描述语言,将文本和图形合并在同一文件中。被多数图像编辑软件和打印机支持,包含打印机渲染页面的指令。