Working with Images in XPS file | .NET
Contents
[
Hide
Show
]Add Image inside XPS Documents
Aspose.Page for .NET offers XpsPath class, with which you can add image on XPS document. You need to create XpsMatrix and XpsImageBrush and save XpsDocument. The following code snippet shows complete functionality to add image on an XPS document:
1// Add image to XPS document.
2
3// Create new XPS Document
4XpsDocument doc = new XpsDocument();
5
6string outputFileName = "AddImage_outXPS.xps";
7
8// Add Image
9XpsPath path = doc.AddPath(doc.CreatePathGeometry("M 30,20 l 258.24,0 0,56.64 -258.24,0 Z"));
10//Creating a matrix is optional, it can be used for proper positioning
11path.RenderTransform = doc.CreateMatrix(0.7f, 0f, 0f, 0.7f, 0f, 20f);
12//Create Image Brush
13path.Fill = doc.CreateImageBrush(DataDir + "QL_logo_color.tif", new RectangleF(0f, 0f, 258.24f, 56.64f), new RectangleF(50f, 20f, 193.68f, 42.48f));
14// Save resultant XPS document
15doc.Save(OutputDir + outputFileName);
The result of running this code is next
Add Tiled Image
The solution offers XpsPath class, with which you can add images on XPS documents. For this, you first need to create XpsMatrix and an XpsImageBrush, then specify XpsTileMode.Tile mode and save XpsDocument.
The following code snippet shows complete functionality to add a tiled image on an XPS document:
1// Paint rectangle with tiled image (texture pattern) in XPS document.
2
3// Create new XPS Document
4XpsDocument doc = new XpsDocument();
5
6string outputFileName = "AddTextureTilingPattern_outXPS.xps";
7
8// Tile image
9// ImageBrush filled rectangle in the right top bellow
10XpsPath path = doc.AddPath(doc.CreatePathGeometry("M 10,160 L 228,160 228,305 10,305"));
11path.Fill = doc.CreateImageBrush(DataDir + "R08LN_NN.jpg", new RectangleF(0f, 0f, 128f, 96f), new RectangleF(0f, 0f, 64f, 48f));
12((XpsImageBrush)path.Fill).TileMode = XpsTileMode.Tile;
13path.Fill.Opacity = 0.5f;
14// Save resultant XPS document
15doc.Save(OutputDir + outputFileName);
The result of running this code is next
You can download examples and data files from GitHub.