处理 XPS 文件的矢量图形形状

用于处理 XPS 文件矢量图形的 C# .NET API 解决方案

 

与任何其他页面描述语言格式一样,XPS 允许包含矢量图形。该解决方案允许您操作 XPS 文件的矢量图形。功能很丰富,所以这里将仅描述如何向文件中添加椭圆和矩形形状的几个示例。在这里,您还将看到如何使用形状的颜色。类比工作,您将能够创建所需的任何几何图形。

要使用 XPS 的矢量图形形状,我们需要:

  • Aspose.Page for .NET API 是一个功能丰富、功能强大且易于使用的 C# 平台文档操作和转换 API。

  • 打开 NuGet 包管理器,搜索 Aspose.Page 并安装。您也可以从包管理器控制台使用以下命令。

Package Manager Console Command


    PM> Install-Package Aspose.Page

使用 C# 添加矩形的步骤。

  1. 设置文档目录的路径。
  2. 使用 XpsDocument 类 创建一个 XPS 文件。
  3. 要在左下角创建 CMYK(蓝色)纯色描边矩形,请使用 XpsPath 类的方法.
  4. 使用 XPsDocument.Save 方法保存更改后的 XPS 文档。

将矩形插入 XPS 文件的 C# 代码

    using Aspose.Page.XPS;
    using Aspose.Page.XPS.XpsModel;
    using System.Drawing;
    using System.Collections.Generic;
    // The path to the documents directory.
    string dataDir = RunExamples.GetDataDir_WorkingWithShapes();

    // Create a new XPS Document
    XpsDocument doc = new XpsDocument();

    // CMYK (blue) solid color stroked rectangle in the lower left
    XpsPath path = doc.AddPath(doc.CreatePathGeometry("M 20,10 L 220,10 220,100 20,100 Z"));
    path.Stroke = doc.CreateSolidColorBrush(
        doc.CreateColor(dataDir + "uswebuncoated.icc", 1.0f, 1.000f, 0.000f, 0.000f, 0.000f));
    path.StrokeThickness = 12f;

    // Save the resultant XPS document
     doc.Save(dataDir + "AddRectangle_out.xps");
下一个代码片段展示了如何在 Aspose.Page for .NET Api 解决方案中将椭圆放入 XPS 文件中。

使用 C# 添加椭圆的步骤。

  1. 设置文档目录的路径。
  2. 打开 XPS 文件流。
  3. 使用 XpsDocument 类 创建一个 XPS 文件。
  4. 要在左下角创建径向渐变描边椭圆,请使用 XpsPath 类的方法。
  5. 通过 XPsDocument.Save() 方法保存更改后的 XPS 文档。

将椭圆插入 XPS 文件的 C# 代码

    // The path to the documents directory.
    string dataDir = RunExamples.GetDataDir_WorkingWithShapes();

    // Create a new XPS Document
    XpsDocument doc = new XpsDocument();

    // Radial gradient stroked ellipse in the lower left
    List<XpsGradientStop> stops = new List<XpsGradientStop>();
    stops.Add(doc.CreateGradientStop(doc.CreateColor(0, 0, 255), 0f));
    stops.Add(doc.CreateGradientStop(doc.CreateColor(255, 0, 0), .25f));
    stops.Add(doc.CreateGradientStop(doc.CreateColor(0, 255, 0), .5f));
    stops.Add(doc.CreateGradientStop(doc.CreateColor(255, 255, 0), .75f));
    stops.Add(doc.CreateGradientStop(doc.CreateColor(255, 0, 0), 1f));

    XpsPath path = doc.AddPath(doc.CreatePathGeometry("M 20,250 A 100,50 0 1 1 220,250 100,50 0 1 1 20,250"));
    path.Stroke = doc.CreateRadialGradientBrush(new PointF(575f, 125f), new PointF(575f, 100f), 75f, 50f);
    ((XpsGradientBrush)path.Stroke).SpreadMethod = XpsSpreadMethod.Reflect;
    ((XpsGradientBrush)path.Stroke).GradientStops.AddRange(stops);
    stops.Clear();
    path.StrokeThickness = 12f;

    // Save the resultant XPS document
    doc.Save(dataDir + "AddEllipse_out.xps");



常问问题

1. 如何在 XPS 中绘制图形?

要在 XPS 中操作矢量图形对象,请使用 Aspose.Page.XPS.XpsModel 命名空间的相应类。

2. 我可以更改 XPS 中图形的颜色吗?

是的,您可以管理颜色、渐变、画笔、画布等。

3. 如何将几何图形添加到 XPS 文件中?

打开 XPS 文件的流。要添加所需的图形,请使用 XpsPath 类的方法。

XPS 什么是XPS文件格式

XPS 格式类似于 PDF 格式。两者都是页面描述语言 (PDL) 格式。 EPS 基于 HTML 而不是 PostScript 语言。 .eps 文件能够包含文档结构的标记以及有关文档外观的信息。还添加了有关如何打印和呈现文档的说明。该格式的特点是它修复了文档的描述,这意味着无论谁以及从哪个操作系统打开它,它看起来都是一样的。