Lavorare con il gradiente in un file XPS | Python
Un gradiente è una transizione graduale tra due o più colori o tonalità. Nelle arti visive, nella grafica e nel design, i gradienti vengono spesso utilizzati per creare transizioni fluide da un colore all’altro, aggiungendo profondità, dimensione e interesse visivo a un oggetto o a un’immagine. I gradienti possono variare in complessità, da semplici gradienti a due colori a miscele più complesse che coinvolgono più colori o persino livelli di trasparenza.
Qui scoprirai come aggiungere diversi tipi di gradienti ai file XPS in Python.
Aggiungere un gradiente in un documento XPS
Aggiungere un gradiente orizzontale
Aspose.Page per Python tramite .NET fornisce la classe XpsGradientBrush, creata per incorporare i gradienti nei documenti XPS. Per ottenere ciò, è necessario specificare XpsGradientStop e aggiungere XpsPath all’oggetto della classe XpsDocument. Il seguente frammento di codice illustra la funzionalità completa per aggiungere un gradiente orizzontale a un documento XPS:
Il risultato
1# The path to the documents directory.
2data_dir = Util.get_data_dir_working_with_gradient()
3# Create a new XPS Document
4doc = XpsDocument()
5# Initialize a List of XpsGradentStop
6stops = []
7stops.append(doc.create_gradient_stop(doc.create_color(255, 244, 253, 225), 0.0673828))
8stops.append(doc.create_gradient_stop(doc.create_color(255, 251, 240, 23), 0.314453))
9stops.append(doc.create_gradient_stop(doc.create_color(255, 252, 209, 0), 0.482422))
10stops.append(doc.create_gradient_stop(doc.create_color(255, 241, 254, 161), 0.634766))
11stops.append(doc.create_gradient_stop(doc.create_color(255, 53, 253, 255), 0.915039))
12stops.append(doc.create_gradient_stop(doc.create_color(255, 12, 91, 248), 1))
13# Create a new path by defining geometery in an abbreviation form
14path = doc.add_path(doc.create_path_geometry("M 10,210 L 228,210 228,300 10,300"))
15path.render_transform = doc.create_matrix(1, 0, 0, 1, 20, 70)
16gradient: XpsLinearGradientBrush = doc.create_linear_gradient_brush(aspose.pydrawing.PointF(10, 0), aspose.pydrawing.PointF(228, 0))
17path.fill = gradient
18gradient.gradient_stops.extend(stops)
19# Save the resultant XPS document
20doc.save(data_dir + "AddHorizontalGradient_outXPS.xps")
Aggiungi sfumatura verticale
Aspose.Page per Python tramite .NET include la classe XpsGradientBrush, per incorporare sfumature nei documenti XPS. Per farlo, è necessario specificare XpsGradientStop e aggiungere XpsPath all’oggetto della classe XpsDocument. Il seguente frammento di codice illustra la funzionalità completa per aggiungere una sfumatura verticale a un documento XPS:
Il risultato
1# The path to the documents directory.
2data_dir = Util.get_data_dir_working_with_gradient()
3# Create a new XPS Document
4doc = XpsDocument()
5# Initialize a List of XpsGradentStop
6stops = []
7stops.append(doc.create_gradient_stop(doc.create_color(253, 255, 12, 0), 0))
8stops.append(doc.create_gradient_stop(doc.create_color(252, 255, 154, 0), 0.359375))
9stops.append(doc.create_gradient_stop(doc.create_color(252, 255, 56, 0), 0.424805))
10stops.append(doc.create_gradient_stop(doc.create_color(253, 255, 229, 0), 0.879883))
11stops.append(doc.create_gradient_stop(doc.create_color(252, 255, 255, 234), 1))
12# Create a new path by defining geometery in an abbreviation form
13path = doc.add_path(doc.create_path_geometry("M 10,110 L 228,110 228,200 10,200"))
14path.render_transform = doc.create_matrix(1, 0, 0, 1, 20, 70)
15gradient: XpsLinearGradientBrush = doc.create_linear_gradient_brush(aspose.pydrawing.PointF(10, 110), aspose.pydrawing.PointF(10, 200))
16path.fill = gradient
17gradient.gradient_stops.extend(stops)
18# Save the resultant XPS document
19doc.save(data_dir + "AddVerticalGradient_outXPS.xps")
Aggiungi sfumatura diagonale
Il seguente frammento di codice mostra la funzionalità completa di come aggiungere una sfumatura lineare a un documento XPS:
1# The path to the documents directory.
2data_dir = Util.get_data_dir_working_with_gradient()
3# Create a new XPS Document
4doc = XpsDocument()
5# Initialize a List of XpsGradentStop
6stops = []
7# Add Colors to Gradient
8stops.append(doc.create_gradient_stop(doc.create_color(0, 142, 4), 0))
9stops.append(doc.create_gradient_stop(doc.create_color(255, 202, 0), 0.144531))
10stops.append(doc.create_gradient_stop(doc.create_color(255, 250, 0), 0.264648))
11stops.append(doc.create_gradient_stop(doc.create_color(255, 0, 0), 0.414063))
12stops.append(doc.create_gradient_stop(doc.create_color(233, 0, 255), 0.544922))
13stops.append(doc.create_gradient_stop(doc.create_color(107, 27, 190), 0.694336))
14stops.append(doc.create_gradient_stop(doc.create_color(63, 0, 255), 0.844727))
15stops.append(doc.create_gradient_stop(doc.create_color(0, 199, 80), 1))
16# Create a new path by defining geometery in an abbreviation form
17path = doc.add_path(doc.create_path_geometry("M 10,10 L 228,10 228,100 10,100"))
18path.render_transform = doc.create_matrix(1, 0, 0, 1, 20, 70)
19gradient: XpsLinearGradientBrush = doc.create_linear_gradient_brush(aspose.pydrawing.PointF(10, 10), aspose.pydrawing.PointF(228, 100))
20path.fill = gradient
21gradient.gradient_stops.extend(stops)
22# Save the resultant XPS document
23doc.save(data_dir + "AddDiagonalGradient_outXPS.xps")
Il risultato
È possibile scaricare esempi e file di dati da GitHub.