Trabajar con degradado en un archivo XPS | Python

Un degradado es una transición gradual entre dos o más colores o matices. En artes visuales, gráficos y diseño, los degradados se utilizan a menudo para crear transiciones suaves de un color a otro, añadiendo profundidad, dimensión e interés visual a un objeto o imagen. Los degradados pueden variar en complejidad, desde simples degradados de dos colores hasta mezclas más complejas que involucran múltiples colores o incluso niveles de transparencia.

Aquí descubrirá cómo agregar diferentes tipos de degradados a archivos XPS en Python.

Agregar degradado en un documento XPS

Agregar degradado horizontal

Aspose.Page para Python vía .NET proporciona la clase XpsGradientBrush, creada para incorporar degradados en documentos XPS. Para lograr esto, debe especificar XpsGradientStop y agregar XpsPath al objeto de la clase XpsDocument. El siguiente fragmento de código demuestra la funcionalidad completa para agregar un degradado horizontal a un documento XPS:

Voir comment travailler avec un dégradé dans les documents XPS via .NET, Java y C++.

El resultado

Agregar degradado horizontal

 1from aspose.page.xps import *
 2from aspose.page.xps.xpsmodel import *
 3import aspose.pydrawing
 4from util import Util
 5# The path to the documents directory.
 6data_dir = Util.get_data_dir_working_with_gradient()
 7# Create a new XPS Document
 8doc = XpsDocument()
 9# Initialize a List of XpsGradentStop
10stops = []
11stops.append(doc.create_gradient_stop(doc.create_color(255, 244, 253, 225), 0.0673828))
12stops.append(doc.create_gradient_stop(doc.create_color(255, 251, 240, 23), 0.314453))
13stops.append(doc.create_gradient_stop(doc.create_color(255, 252, 209, 0), 0.482422))
14stops.append(doc.create_gradient_stop(doc.create_color(255, 241, 254, 161), 0.634766))
15stops.append(doc.create_gradient_stop(doc.create_color(255, 53, 253, 255), 0.915039))
16stops.append(doc.create_gradient_stop(doc.create_color(255, 12, 91, 248), 1))
17# Create a new path by defining geometery in an abbreviation form
18path = doc.add_path(doc.create_path_geometry("M 10,210 L 228,210 228,300 10,300"))
19path.render_transform = doc.create_matrix(1, 0, 0, 1, 20, 70)
20gradient: XpsLinearGradientBrush = doc.create_linear_gradient_brush(aspose.pydrawing.PointF(10, 0), aspose.pydrawing.PointF(228, 0))
21path.fill = gradient
22gradient.gradient_stops.extend(stops)
23# Save the resultant XPS document
24doc.save(data_dir + "AddHorizontalGradient_outXPS.xps")

Agregar degradado vertical

Aspose.Page para Python vía .NET incluye la clase XpsGradientBrush, para incorporar degradados en documentos XPS. Para lograr esto, debe especificar XpsGradientStop y agregar XpsPath al objeto de la clase XpsDocument. El siguiente fragmento de código demuestra la funcionalidad completa para agregar un degradado vertical a un documento XPS:

Voir comment travailler avec un dégradé dans les documents XPS via .NET, Java y C++.

El resultado

Agregar degradado vertical

 1from aspose.page.xps import *
 2from aspose.page.xps.xpsmodel import *
 3import aspose.pydrawing
 4from util import Util
 5# The path to the documents directory.
 6data_dir = Util.get_data_dir_working_with_gradient()
 7# Create a new XPS Document
 8doc = XpsDocument()
 9# Initialize a List of XpsGradentStop
10stops = []
11stops.append(doc.create_gradient_stop(doc.create_color(253, 255, 12, 0), 0))
12stops.append(doc.create_gradient_stop(doc.create_color(252, 255, 154, 0), 0.359375))
13stops.append(doc.create_gradient_stop(doc.create_color(252, 255, 56, 0), 0.424805))
14stops.append(doc.create_gradient_stop(doc.create_color(253, 255, 229, 0), 0.879883))
15stops.append(doc.create_gradient_stop(doc.create_color(252, 255, 255, 234), 1))
16# Create a new path by defining geometery in an abbreviation form
17path = doc.add_path(doc.create_path_geometry("M 10,110 L 228,110 228,200 10,200"))
18path.render_transform = doc.create_matrix(1, 0, 0, 1, 20, 70)
19gradient: XpsLinearGradientBrush = doc.create_linear_gradient_brush(aspose.pydrawing.PointF(10, 110), aspose.pydrawing.PointF(10, 200))
20path.fill = gradient
21gradient.gradient_stops.extend(stops)
22# Save the resultant XPS document
23doc.save(data_dir + "AddVerticalGradient_outXPS.xps")

Agregar degradado diagonal

El siguiente fragmento de código muestra la funcionalidad completa de cómo agregar un degradado lineal en un documento XPS:

 1from aspose.page.xps import *
 2from aspose.page.xps.xpsmodel import *
 3import aspose.pydrawing
 4from util import Util
 5# The path to the documents directory.
 6data_dir = Util.get_data_dir_working_with_gradient()
 7# Create a new XPS Document
 8doc = XpsDocument()
 9# Initialize a List of XpsGradentStop
10stops = []
11# Add Colors to Gradient
12stops.append(doc.create_gradient_stop(doc.create_color(0, 142, 4), 0))
13stops.append(doc.create_gradient_stop(doc.create_color(255, 202, 0), 0.144531))
14stops.append(doc.create_gradient_stop(doc.create_color(255, 250, 0), 0.264648))
15stops.append(doc.create_gradient_stop(doc.create_color(255, 0, 0), 0.414063))
16stops.append(doc.create_gradient_stop(doc.create_color(233, 0, 255), 0.544922))
17stops.append(doc.create_gradient_stop(doc.create_color(107, 27, 190), 0.694336))
18stops.append(doc.create_gradient_stop(doc.create_color(63, 0, 255), 0.844727))
19stops.append(doc.create_gradient_stop(doc.create_color(0, 199, 80), 1))
20# Create a new path by defining geometery in an abbreviation form
21path = doc.add_path(doc.create_path_geometry("M 10,10 L 228,10 228,100 10,100"))
22path.render_transform = doc.create_matrix(1, 0, 0, 1, 20, 70)
23gradient: XpsLinearGradientBrush = doc.create_linear_gradient_brush(aspose.pydrawing.PointF(10, 10), aspose.pydrawing.PointF(228, 100))
24path.fill = gradient
25gradient.gradient_stops.extend(stops)
26# Save the resultant XPS document
27doc.save(data_dir + "AddDiagonalGradient_outXPS.xps")

Voir comment travailler avec un dégradé dans les documents XPS via .NET, Java y C++.

El resultado

Agregar degradado diagonal

Puede descargar ejemplos y archivos de datos desde GitHub.

Have any questions about Aspose.Page?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.