处理 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(XML Paper Specification)是 Microsoft 的 PDF 替代方案,基于 XML/HTML,跨平台保持布局一致,且不依赖操作系统。