XPSファイルでのビジュアルブラシの操作 | .NET

Visual Brush を使用したグリッドの追加

Aspose.Page for .NET には XpsVisualBrush クラスが用意されており、これを使用して XPS ドキュメントにグリッドを追加できます。

XpsPathGeometry を指定し、 XpsCanvasXpsDocument クラスのオブジェクトに追加する必要があります。以下のコードスニペットは、XPS ドキュメントにグリッドを追加するための完全な機能を示しています。

 1// Add grid with visual brush to XPS document.
 2
 3XpsDocument doc = new XpsDocument();
 4
 5string outputFileName = "AddGrid_out.xps";
 6
 7// Geometry for magenta grid VisualBrush
 8XpsPathGeometry pathGeometry = doc.CreatePathGeometry();
 9pathGeometry.AddSegment(doc.CreatePolyLineSegment(
10    new PointF[] { new PointF(240f, 5f), new PointF(240f, 310f), new PointF(0f, 310f) }));
11pathGeometry[0].StartPoint = new PointF(0f, 5f);
12
13// Canvas for magenta grid VisualBrush
14XpsCanvas visualCanvas = doc.CreateCanvas();
15
16XpsPath visualPath = visualCanvas.AddPath(
17    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"));
18visualPath.Fill = doc.CreateSolidColorBrush(doc.CreateColor(1f, .61f, 0.1f, 0.61f));
19
20XpsPath gridPath = doc.CreatePath(pathGeometry);
21//Create Visual Brush, it is specified by some XPS fragment (vector graphics and glyphs)
22gridPath.Fill = doc.CreateVisualBrush(visualCanvas,
23    new RectangleF(0f, 0f, 10f, 10f), new RectangleF(0f, 0f, 10f, 10f));
24((XpsVisualBrush)gridPath.Fill).TileMode = XpsTileMode.Tile;
25// New canvas
26XpsCanvas canvas = doc.AddCanvas();
27canvas.RenderTransform = doc.CreateMatrix(1f, 0f, 0f, 1f, 268f, 70f);
28// Add grid
29canvas.AddPath(pathGeometry);
30// Red transparent rectangle in the middle top
31XpsPath path = canvas.AddPath(doc.CreatePathGeometry("M 30,20 l 258.24,0 0,56.64 -258.24,0 Z"));
32path = canvas.AddPath(doc.CreatePathGeometry("M 10,10 L 228,10 228,100 10,100"));
33path.Fill = doc.CreateSolidColorBrush(doc.CreateColor(1.0f, 0.0f, 0.0f));
34path.Opacity = 0.7f;
35// Save resultant XPS document
36doc.Save(OutputDir + outputFileName);
Example-AddGridXPS.cs hosted with ❤ by GitHub

XPSドキュメントでのビジュアルブラシの操作については、 Javaおよび C++をご覧ください。


結果は次のようになります。

グリッドの追加

サンプルとデータ ファイルは GitHub からダウンロードできます。

Have any questions about Aspose.Page?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.