La grafica SVG è parte di quasi ogni progetto moderno, dalle icone delle app e grafici ai report visivi e dashboard. Ma cosa succederebbe se potessi regolare i loro colori direttamente dal tuo codice Python? Invece di aprire ogni file in uno strumento grafico, puoi automatizzare il processo in poche righe. Che tu stia progettando dashboard, generando report o personalizzando le icone delle app, cambiare i colori SVG con Python può farti risparmiare molto tempo. Con Aspose.SVG for Python, puoi facilmente caricare un SVG, modificare i suoi colori di riempimento e salvare la versione aggiornata con precisione e controllo. In questa guida, ti mostreremo come cambiare il colore di riempimento SVG in Python.

What Is SVG Fill Color?

SVG (Scalable Vector Graphics) è un formato immagine basato su XML che si scala senza perdere qualità. Ogni forma, come <circle>, <rect> o <path> può avere un’attributo di riempimento che definisce il suo colore interno.

Per esempio:

<rect width="100" height="50" fill="blue" />

Cambiando fill="blue" in fill="red" rende il rettangolo rosso istantaneamente.

Semplice per una forma, ma se stai lavorando con centinaia di SVG o generando report visivi dinamicamente, farlo manualmente non è scalabile. È qui che entra in gioco l’automazione Python.

Perché cambiare il colore di riempimento SVG in Python?

Ci sono molti casi nel mondo reale per modificare programmaticamente i colori di riempimento SVG:

  • Visualizzazione dinamica dei dati: Applica palette di colori personalizzate a grafici o dashboard.
  • Coerenza del marchio: Usa automaticamente i colori del marchio nelle grafiche generate.
  • Temi chiari/scuri: Riporta i colori delle icone UI per abbinarli ai temi dell’app.
  • Automazione: Aggiorna più SVG senza aprire uno strumento di design.

Invece di utilizzare Inkscape o Illustrator, lasciate che Python se ne occupi in modo rapido, coerente e completamente automatizzato.

Con Aspose.SVG for Python, puoi analizzare, modificare ed esportare SVG senza sforzo e senza dipendenze di terze parti.

Installa Aspose.SVG for Python

Installare la libreria da PyPI:

pip install aspose-svg-net

Nota: Puoi anche scaricare Aspose.SVG for Python dai releases.

Poi importalo nel tuo progetto:

import aspose.svg as svg

Cambia il colore di riempimento SVG in Python

Iniziamo semplice. Caricheremo un file SVG esistente, cambieremo il suo colore di riempimento e salveremo la versione aggiornata.

Segui i passaggi seguenti per cambiare il colore di riempimento SVG:

  1. Carica il file SVG in un SVGDocument.
  2. Accedi all’elemento radice.
  3. Trova l’elemento che desideri ridipingere.
  4. Aggiorna il suo attributo fill.
  5. Salva il file aggiornato.

Il seguente campione di codice mostra come caricare un file SVG esistente e cambiare il suo colore di riempimento:

import aspose.svg as svg

# 1. Carica il documento SVG
document = svg.SVGDocument("sample.svg")

# 2. Ottieni l'elemento SVG radice del documento
svgElement = document.root_element

# 3. Trova tutti gli elementi cerchio nell'elemento g
circleNodes = svgElement.query_selector("circle")

# 4. Ottieni il primo elemento cerchio e imposta gli attributi di riempimento
circleNodes.set_attribute("fill", "#0F0")          # bright green
circleNodes.set_attribute("fill-opacity", "0.3")   # 30% opacity

# 5. Salva il SVG aggiornato
document.save("sample_updated.svg")
Cambia il colore di riempimento SVG in Python

Cambia il colore di riempimento SVG in Python - Passo dopo passo.

Please find below the content of the circle element of sample.svg image.

  <!-- Circle element -->
  <circle cx="60" cy="75" r="30" fill="#FF6347" stroke="#000" stroke-width="2" />

Here goes the updated content of the circle element of sampleupdated.svg image.

  <!-- Circle element -->
  <circle cx="60" cy="75" r="30" fill="#0F0" stroke="#000" stroke-width="2" fill-opacity="0.3"/>

Riempire un percorso SVG con Python

Puoi anche modificare un elemento <path> specifico, che è utile per icone o forme vettoriali.

Per impostare il colore di riempimento di un elemento <path> in un SVG esistente, segui questi passaggi:

  1. Carica l’SVG con SVGDocument.
  2. Accedi all’elemento radice.
  3. Seleziona il <path> target utilizzando query_selector().
  4. Imposta il fill (e l’opzionale fill-opacity).
  5. Save the result.

Di seguito è riportato un frammento di codice che dimostra come riempire un elemento di percorso in Python.

import aspose.svg as svg

# 1. Carica il documento SVG
document = svg.SVGDocument("simple-path.svg")

# 2. Ottieni l'elemento SVG radice del documento
svgElement = document.root_element

# 3. Trova tutti gli elementi cerchio nell'elemento g
circle_element = svgElement.query_selector("path:nth-child(1)")

# 4. Ottieni il primo elemento cerchio e imposta gli attributi di riempimento
circle_element.set_attribute("fill", "#0F0")  # bright green
circle_element.set_attribute("fill-opacity", "0.3")  # 30% opacity

# 5. Salva il SVG aggiornato
document.save("simple-path-updated.svg")
Compila un percorso SVG utilizzando Python

Fill an SVG Path using Python.

Please find below the content of the Sample-Path.svg image.

<svg height="400" width="800" xmlns="http://www.w3.org/2000/svg">
	<g stroke="black">
		<path d="M 10 100 Q 25 10 180 100 T 250 100 T 300 100 T 390 130" stroke="red" stroke-width="3" fill="none" />
    </g>
</svg>

Please find below the content of the simple-path-updated.svg image.

<svg height="400" width="800" xmlns="http://www.w3.org/2000/svg">
	<g stroke="black">
		<path d="M 10 100 Q 25 10 180 100 T 250 100 T 300 100 T 390 130" stroke="red" stroke-width="3" fill="#0F0" fill-opacity="0.3"/>
    </g>
</svg>

Applica il riempimento SVG tramite l’attributo di stile

Puoi anche impostare il colore di riempimento SVG utilizzando l’attributo di stile, proprio come il CSS inline. Segui questi passaggi:

  1. Carica l’SVG con SVGDocument(path).
  2. Accedi all’elemento radice.
  3. Usa query_selector() per selezionare l’elemento.
  4. Aggiorna il suo style con set_attribute().
  5. Salva l’SVG modificato.

Il seguente esempio di codice mostra come cambiare il colore di riempimento SVG utilizzando l’attributo di stile:

import aspose.svg as svg

# 1. Carica un SVG esistente
document = svg.SVGDocument("sample.svg")

# 2. Elemento radice
root = document.root_element

# 3. Scegli l'elemento che vuoi colorare (scegli un selettore)
target = root.query_selector("circle")  # or "path", ".some-class", "#myPath"

# 4. Applica il colore di riempimento utilizzando l'attributo style
target.set_attribute("style", "fill:blue")

# 5. Salva il risultato
document.save("ApplyStyle.svg")
Applica il riempimento SVG utilizzando l'attributo di stile in Python

Applica il riempimento SVG utilizzando l’attributo stile in Python.

  <!-- Circle element -->
  <circle cx="60" cy="75" r="30" fill="#FF6347" stroke="#000" stroke-width="2" style="fill: blue;"/>

Ottieni una licenza gratuita di Aspose

Per sbloccare la piena funzionalità e rimuovere i limiti di valutazione, richiedi una licenza temporanea gratuita da Aspose. Ti consente di testare ogni funzionalità senza restrizioni.

Risorse di apprendimento gratuite

Ecco alcune risorse per aiutarti ad esplorare di più:

SVG Fill Color : FAQS

Q: Può Aspose.SVG gestire gradienti o riempimenti di opacità?

A: Sì, supporta gradienti, opacità e riempimenti a motivo, tutti accessibili tramite manipolazione degli attributi.

Q: Cosa succede se il mio SVG usa CSS per i colori?

A: Puoi modificare l’attributo style o modificare direttamente le regole interne.

Q: Posso esportare SVG modificati in altri formati come PNG o PDF?

A: Assolutamente. Aspose.SVG può convertire SVG in formati PNG, JPG, BMP o PDF.

Q: Dipende da software esterni?

A: No. Aspose.SVG funziona in modo indipendente. Non c’è bisogno di Inkscape, Illustrator o altri strumenti.

Conclusione

In questo articolo, hai appreso come cambiare i colori di riempimento SVG in Python utilizzando Aspose.SVG for Python. Offre il controllo completo dal caricamento e modifica degli elementi al salvataggio e persino all’esportazione dei risultati come PNG.

Questo approccio ti dà il pieno controllo di:

  • Ricolorare icone e grafici
  • Automatizzare il tema
  • Aggiorna dinamicamente le risorse vettoriali

Con Aspose.SVG, il tuo codice diventa il tuo assistente di design che gestisce modifiche ripetitive con precisione e facilità.

Hai bisogno di aiuto? Visita il nostro free support forum per assistenza diretta dagli sviluppatori.

See Also