使用画笔和渐变

用于处理 XPS 文件的画笔和渐变的 C# .NET API 解决方案。

 

Aspose.Page for .NET API 解决方案让您可以操作 XPS 文件的矢量图形。您可以创建不同颜色和纹理的各种几何形状。在此页面上将描述一些示例,说明如何添加不同的颜色空间和渐变,以及如何使用不同的画笔。类比地工作,您将能够创建所需的任何颜色的任何几何图形。

要操作 XPS 文件的画笔和渐变,我们需要:

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

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

Package Manager Console Command


    PM> Install-Package Aspose.Page

使用 C# .NET 应用色彩空间的步骤。

  1. 设置文档目录的路径。
  2. 使用 XpsDocument 类 创建一个 XPS 文件。
  3. 要创建不同的纯色填充矩形,请使用 XpsPath 类的方法。
  4. 使用 XPsDocument.Save() 方法保存更改后的 XPS 文档。

用于设置 XPS 文件颜色空间的 C# 代码

    using Aspose.Page.XPS;
    using Aspose.Page.XPS.XpsModel;
    using System.Drawing;
    // The path to the documents directory.
    string dataDir = RunExamples.GetDataDir_WorkingWithShapes();
            
    // Create a new XPS Document
    XpsDocument doc = new XpsDocument();

    // ARGB solid color filled rectangle
    XpsPath rect1 = doc.AddPath(doc.CreatePathGeometry("M 20,10 L 220,10 220,100 20,100 Z"));
    rect1.Fill = doc.CreateSolidColorBrush(doc.CreateColor(Color.FromArgb(222, 12, 15, 159)));

    // ARGB solid color filled rectangle, in another way
    XpsPath rect2 = doc.AddPath(doc.CreatePathGeometry("M 20,210 L 220,210 220,300 20,300 Z"));
    rect2.Fill = doc.CreateSolidColorBrush(doc.CreateColor(222, 12, 15, 159));

    // sRGB solid color filled rectangle
    XpsPath rect3 = doc.AddPath(doc.CreatePathGeometry("M 20,410 L 220,410 220,500 20,500 Z"));
    rect3.Fill = doc.CreateSolidColorBrush(doc.CreateColor(12, 15, 159));

    // scRGB solid color filled rectangle
    XpsPath rect4 = doc.AddPath(doc.CreatePathGeometry("M 20,610 L 220,610 220,700 20,700 Z"));
    rect4.Fill = doc.CreateSolidColorBrush(doc.CreateColor(0.08706f, 0.04706f, 0.05882f, 0.62353f));

    // CMYK (blue) solid color filled rectangle
    XpsPath rect5 = doc.AddPath(doc.CreatePathGeometry("M 20,810 L 220,810 220,900 20,900 Z"));
    rect5.Fill = doc.CreateSolidColorBrush(
        doc.CreateColor(dataDir + "uswebuncoated.icc", 1.0f, 1.000f, 0.000f, 0.000f, 0.000f));
            
    // Save the resultant XPS document
    doc.Save(dataDir + "ApplyDifferentColorSpaces_out.xps");
下一个代码片段展示了如何在 Aspose.Page for .NET Api 解决方案中使用 XPS 文件的视觉画笔。

使用 C# 使用视觉画笔的步骤。

  1. 设置文档目录的路径。
  2. 使用 XpsDocument 类 创建一个 XPS 文件。
  3. 使用 XpsPathGeometry 类为洋红色网格视觉画笔创建几何图形。
  4. 要为洋红色网格 Visual Brush 设置画布,请使用 CreateCanvas() 方法。
  5. 要创建视觉画笔,请使用 CreateVisualBrush() 方法。
  6. 通过 XPsDocument.Save() 方法保存更改后的 XPS 文档。

用于操作 XPS 文件的视觉画笔的 C# 代码

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

    XpsDocument doc = new XpsDocument();
    // Geometry for the magenta grid VisualBrush
    XpsPathGeometry pathGeometry = doc.CreatePathGeometry();
    pathGeometry.AddSegment(doc.CreatePolyLineSegment(
        new PointF[] { new PointF(240f, 5f), new PointF(240f, 310f), new PointF(0f, 310f) }));
    pathGeometry[0].StartPoint = new PointF(0f, 5f);

    // Canvas for the magenta grid VisualBrush
    XpsCanvas visualCanvas = doc.CreateCanvas();

    XpsPath visualPath = visualCanvas.AddPath(
        doc.CreatePathGeometry("M 0,4 L 4,4 4,0 6,0 6,4 10,4 10,6 6,6 6,10 4,10 4,6 0,6 Z"));
    visualPath.Fill = doc.CreateSolidColorBrush(doc.CreateColor(1f, .61f, 0.1f, 0.61f));

    XpsPath gridPath = doc.CreatePath(pathGeometry);
    // Create the Visual Brush, it is specified by some XPS fragment (vector graphics and glyphs)
    gridPath.Fill = doc.CreateVisualBrush(visualCanvas,
        new RectangleF(0f, 0f, 10f, 10f), new RectangleF(0f, 0f, 10f, 10f));
    ((XpsVisualBrush)gridPath.Fill).TileMode = XpsTileMode.Tile;
    // New canvas
    XpsCanvas canvas = doc.AddCanvas();
    canvas.RenderTransform = doc.CreateMatrix(1f, 0f, 0f, 1f, 268f, 70f);
    // Add a grid
    canvas.AddPath(pathGeometry);
    // Red transparent rectangle in the middle top
    XpsPath path = canvas.AddPath(doc.CreatePathGeometry("M 30,20 l 258.24,0 0,56.64 -258.24,0 Z"));
    path = canvas.AddPath(doc.CreatePathGeometry("M 10,10 L 228,10 228,100 10,100"));
    path.Fill = doc.CreateSolidColorBrush(doc.CreateColor(1.0f, 0.0f, 0.0f));
    path.Opacity = 0.7f;
    // Save the resultant XPS document
    doc.Save(dataDir + "AddGrid_out.xps");

使用 C# 添加水平渐变的步骤。

  1. 设置文档目录的路径。
  2. 使用 XpsDocument 类 创建一个 XPS 文件。
  3. 使用 CreateGradientStop()CreateColor() 方法。
  4. 通过使用 XpsPath 类的方法以缩写形式定义几何图形来创建新路径。
  5. 通过 XPsDocument.Save() 方法保存更改后的 XPS 文档。

将水平渐变插入 XPS 文件的 C# 代码

    // The path to the documents directory.
    string dataDir = RunExamples.GetDataDir_WorkingWithGradient();
    // Create a new XPS Document
    XpsDocument doc = new XpsDocument();

    // Initialize the List of XpsGradentStop
    List<XpsGradientStop> stops = new List<XpsGradientStop>();
    stops.Add(doc.CreateGradientStop(doc.CreateColor(255, 244, 253, 225), 0.0673828f));
    stops.Add(doc.CreateGradientStop(doc.CreateColor(255, 251, 240, 23), 0.314453f));
    stops.Add(doc.CreateGradientStop(doc.CreateColor(255, 252, 209, 0), 0.482422f));
    stops.Add(doc.CreateGradientStop(doc.CreateColor(255, 241, 254, 161), 0.634766f));
    stops.Add(doc.CreateGradientStop(doc.CreateColor(255, 53, 253, 255), 0.915039f));
    stops.Add(doc.CreateGradientStop(doc.CreateColor(255, 12, 91, 248), 1f));

    // Create a new path by defining the geometery in the abbreviation form
    XpsPath path = doc.AddPath(doc.CreatePathGeometry("M 10,210 L 228,210 228,300 10,300"));
    path.RenderTransform = doc.CreateMatrix(1f, 0f, 0f, 1f, 20f, 70f);
    path.Fill = doc.CreateLinearGradientBrush(new PointF(10f, 0f), new PointF(228f, 0f));
    ((XpsGradientBrush)path.Fill).GradientStops.AddRange(stops);

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



常问问题

1. 如何向 XPS 文件添加渐变?

设置文档目录的路径。要添加渐变,请使用 CreateColor()CreateGradientStop() 方法。

2. 如何在 XPS 文件中使用视觉画笔?

设置文档目录的路径。要创建视觉画笔,请使用 CreateVisualBrush() 方法。

3. 如何打开 .xps 文件?

使用 Aspose.Page API 解决方案以编程方式或通过跨平台 XPS 查看器

打开 XPS 文件。

XPS 什么是XPS文件格式

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