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