Un logo PNG può essere perfettamente nitido alla dimensione originale e mostrare i pixel quando viene ingrandito. Lo stesso logo in SVG può restare nitido su una piccola icona, uno schermo ad alta densità o una stampa grande perché non memorizza una griglia fissa: descrive le forme da disegnare.
SVG significa Scalable Vector Graphics. Sul Web ha una doppia natura: è un formato di immagine vettoriale e, allo stesso tempo, un linguaggio di markup basato su XML.
Questa caratteristica spiega perché può essere ridimensionato, stilizzato, ispezionato come testo e, in alcuni casi, reso interattivo.
Raster e vettoriale
Un’immagine raster contiene una griglia di pixel. Una fotografia da 1200 × 800 contiene 960.000 pixel. Se viene ingrandita molto, il software deve interpolare nuovi valori.
Un SVG può invece descrivere un cerchio con:
<circle cx="50" cy="50" r="40" />
Il browser conosce centro, raggio e proprietà grafiche e può ridisegnare la forma alla dimensione necessaria.
Questo non significa che un SVG abbia “dettaglio infinito”: significa che le forme geometriche vengono rasterizzate alla risoluzione di visualizzazione.
Quando usare SVG
SVG è particolarmente adatto a:
- loghi;
- icone;
- diagrammi;
- grafici;
- illustrazioni geometriche;
- motivi e decorazioni.
Per una fotografia complessa, JPEG, WebP o AVIF rimangono normalmente più efficienti. Un SVG può anche incorporare immagini raster: in quel caso le parti vettoriali restano scalabili, ma l’immagine incorporata conserva i limiti della propria risoluzione.
Struttura minima
Un file semplice può essere:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
<circle cx="50" cy="50" r="40" fill="#2563eb" />
</svg>
<svg> è l’elemento radice. viewBox definisce il sistema di coordinate interno. Gli elementi come <circle>, <rect>, <line> e <path> descrivono le forme.
Perché viewBox è così importante?
viewBox="0 0 100 100" indica che il disegno usa un’area interna che parte da (0,0) e misura 100 × 100 unità.
Il file può poi essere mostrato a 24 × 24 px, 200 × 200 px o altre dimensioni. Il browser adatta il sistema di coordinate al riquadro di rendering.
Eliminare o modificare un viewBox senza comprenderlo può cambiare ritaglio, scala o comportamento responsive.
path e coordinate
<path> è uno degli elementi più potenti. L’attributo d contiene comandi per muovere il punto corrente, tracciare linee, curve e chiudere forme.
I software di grafica generano spesso path molto lunghi con numerosi decimali. Questo è uno dei motivi per cui l’ottimizzazione può ridurre notevolmente il peso, purché non deformi il disegno.
fill, stroke e currentColor
fill controlla il riempimento; stroke il contorno. Per icone integrate nel markup può essere utile currentColor:
<path fill="currentColor" d="..." />
L’icona eredita così il colore CSS del contesto, evitando di mantenere copie separate per temi chiari e scuri.
