Trabalhar com Imagens em Ficheiro XPS | .NET
Contents
[
Hide
Show
]Adicionar Imagem em Documentos XPS
O Aspose.Page para .NET oferece a classe XpsPath, com a qual pode adicionar imagens em documentos XPS. É necessário criar XpsMatrix e XpsImageBrush e guardar XpsDocument. O seguinte excerto de código mostra a funcionalidade completa para adicionar imagens num documento XPS:
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);
O resultado da execução deste código é o seguinte:
Adicionar Imagem em Mosaico
A solução oferece a classe XpsPath, com a qual pode adicionar imagens em documentos XPS. Para isso, primeiro é necessário criar o XpsMatrix e um XpsImageBrush, depois especificar o modo XpsTileMode.Tile e guardar XpsDocument.
O seguinte excerto de código mostra a funcionalidade completa para adicionar uma imagem em mosaico num documento XPS:
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);
O resultado da execução deste código é o seguinte:
Pode descarregar exemplos e ficheiros de dados do GitHub.