Trabajar con pinceles y degradados
Solución API C# .NET para trabajar con pinceles y degradados de archivos XPS.
Aspose.Page para la solución API .NET le permite manipular gráficos vectoriales de archivos XPS. Puede crear varias formas geométricas de diferentes colores y texturas. En esta página se describirán algunos ejemplos de cómo agregar diferentes espacios de color y degradados, y cómo trabajar con diferentes pinceles. Trabajando de forma analógica podrás crear cualquier figura geométrica que necesites de cualquier color.
Para manipular pinceles y degradados de archivos XPS, necesitamos:
Aspose.Page para .NET API, que es una API de manipulación y conversión de documentos rica en funciones, potente y fácil de usar para la plataforma C#.
Abra el administrador de paquetes NuGet, busque Aspose.Page e instálelo. También puede usar el siguiente comando desde la Consola del administrador de paquetes.
Package Manager Console Command
PM> Install-Package Aspose.Page
Pasos para aplicar espacios de color con C# .NET.
- Establezca la ruta al directorio de documentos.
- Cree un archivo XPS usando XpsDocument Class .
- Para crear diferentes rectángulos rellenos de colores sólidos, use métodos de la clase XpsPath .
- Guarde el documento XPS modificado con el método XPsDocument.Save() .
Código C# para establecer espacios de color de un archivo XPS
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");
Pasos para trabajar con visual brush con C#.
- Establezca la ruta al directorio de documentos.
- Cree un archivo XPS utilizando XpsDocument Class.
- Cree geometría para el pincel visual de cuadrícula magenta con la clase XpsPathGeometry .
- Para configurar el lienzo para el pincel visual de cuadrícula magenta, utilice el método CreateCanvas() .
- Para crear Visual Brush, use el método CreateVisualBrush() .
- Guarde el documento XPS modificado mediante el método XPsDocument.Save().
Código C# para manipular el pincel visual de un archivo XPS
// 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");
Pasos para agregar degradado horizontal con C#.
- Establezca la ruta al directorio de documentos.
- Cree un archivo XPS utilizando XpsDocument Class.
- Inicialice una lista de XpsGradentStop usando CreateGradientStop() y CreateColor() Métodos.
- Cree una nueva ruta definiendo la geometría en forma de abreviatura utilizando métodos de la clase XpsPath.
- Guarde el documento XPS modificado mediante el método XPsDocument.Save().
Código C# para insertar degradado horizontal en un archivo XPS
// 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");
Preguntas más frecuentes
1. ¿Cómo puedo agregar un degradado a un archivo XPS?
Establezca la ruta al directorio de documentos. Para agregar degradado, utilice los métodos CreateColor() y CreateGradientStop().
2. ¿Cómo trabajar con un pincel visual en un archivo XPS?
Establezca la ruta al directorio de documentos. Para crear un pincel visual, utilice el método CreateVisualBrush().
3. ¿Cómo abrir un archivo XPS?
Utilice la solución API Aspose.Page para abrir XPS archivos mediante programación o mediante multiplataforma XPS Viewer .
XPS Qué es XPS Formato de archivo
El formato XPS es similar al formato PDF. Ambos son formatos de lenguaje de descripción de página (PDL). EPS se basa en HTML y no en lenguaje PostScript. El archivo .eps puede contener un marcado de la estructura del documento junto con la información sobre cómo se vería el documento. También hay instrucciones adicionales sobre cómo imprimir y renderizar el documento. La característica del formato es que corrige la descripción del documento, lo que significa que se verá igual sin importar quién y desde qué sistema operativo lo abra.