在 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# 添加矩形的步骤。
- 设置文档目录的路径。
- 使用 XpsDocument 类 创建一个 XPS 文件。
- 要在左下角创建 CMYK(蓝色)实心描边矩形,请使用 XpsPath 类的核心方法。
- 使用 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");使用 C# 添加椭圆的步骤。
- 设置文档目录的路径。
- 打开 XPS 文件的流。
- 使用 XpsDocument 类 创建一个 XPS 文件。
- 要在左下角创建径向渐变描边的椭圆,请使用 XpsPath 类的核心方法。
- 通过 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 What is XPS File Format
XPS(XML Paper Specification)是 Microsoft 的 PDF 替代方案,基于 XML/HTML,跨平台保持布局一致,且不依赖操作系统。