Trabalhar com Gradiente em ficheiro XPS | Python

Um gradiente é uma transição gradual entre duas ou mais cores ou tons. Nas artes visuais, gráficos e design, os gradientes são frequentemente utilizados para criar transições suaves de uma cor para outra, adicionando profundidade, dimensão e interesse visual a um objeto ou imagem. Os gradientes podem variar em complexidade, desde simples gradientes de duas cores até misturas mais complexas que envolvem múltiplas cores ou até mesmo níveis de transparência.

Aqui descobrirá como adicionar diferentes tipos de gradientes a ficheiros XPS em Python.

Adicionar Gradiente em Documento XPS

Adicionar Gradiente Horizontal

O Aspose.Page para Python via .NET disponibiliza a classe XpsGradientBrush, criada para incorporar gradientes em documentos XPS. Para tal, deve especificar XpsGradientStop e adicionar XpsPath ao objeto da classe XpsDocument. O seguinte excerto de código demonstra a funcionalidade completa para adicionar um gradiente horizontal a um documento XPS:

Veja como trabalhar com um gradiente em documentos XPS através de . NET, Java e C++.


O resultado

Adicionar Gradiente 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")

Adicionar Gradiente Vertical

O Aspose.Page para Python via .NET inclui a classe XpsGradientBrush para incorporar gradientes em documentos XPS. Para tal, deve especificar XpsGradientStop e adicionar XpsPath ao objeto da classe XpsDocument. O seguinte excerto de código demonstra a funcionalidade completa para adicionar um gradiente vertical a um documento XPS:

Veja como trabalhar com um gradiente em documentos XPS através de . NET, Java e C++.


O resultado

Adicionar Gradiente 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")

Adicionar Gradiente Diagonal

O próximo excerto de código mostra a funcionalidade completa de como adicionar um gradiente linear num 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")

Veja como trabalhar com um gradiente em documentos XPS através de . NET, Java e C++.


O resultado

Adicionar Gradiente Diagonal

Pode descarregar exemplos e ficheiros de dados do GitHub.

Have any questions about Aspose.Page?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.