Scalable Vector Graphics

Scalable Vector Graphics (SVG) è un formato di file di grafica vettoriale bidimensionale basato sull'XML sviluppato da World Wide Web Consortium. Le immagini SVG possono essere incluse all'interno di una pagina HTML. Possono essere inoltre distribuite in versione compressa utilizzando…

Scalable Vector Graphics (SVG) è un formato di file di grafica vettoriale bidimensionale basato sull'XML sviluppato da World Wide Web Consortium. Le immagini SVG possono essere incluse all'interno di una pagina HTML. Possono essere inoltre distribuite in versione compressa utilizzando l'algoritmo gzip (con estensione svgz).

Situazione

SVG è diventato una raccomandazione (standard) del World Wide Web Consortium nel settembre 2001 dopo un iter piuttosto contrastato. Al W3C Macromedia e Microsoft avevano introdotto il linguaggio VML (Vector Markup Language), mentre Adobe e Sun Microsystems proponevano un formato concorrente chiamato PGML: per arrivare alla raccomandazione è stato necessario un certo lavoro di compromesso. SVG è supportato nativamente dal web browser/web editor Amaya, da Opera e da Mozilla Firefox dalla versione 1.5. Altri browser per visualizzare immagini SVG richiedono l'aggiunta di un plugin, come Adobe SVG Viewer o Corel SVG Viewer.

Le immagini SVG possono essere visualizzate anche da editor e viewer autonomi. Una particolare versione di Mozilla, chiamata "Croczilla", ora supporta alcune parti dello standard SVG, ma gran parte delle prestazioni non è ancora ottenibile: in prospettiva comunque le immagini SVG dovrebbero essere visualizzabili senza l'aggiunta di alcun plug-in. Anche il web browser Konqueror del progetto KDE attualmente possiede un'implementazione di SVG abbastanza completa chiamata ksvg e c'è da aspettarsi

che in futuro questo supporto sarà adattato al web browser Safari della Apple Inc.

Il browser Opera supporta SVG dalla release 8.5.

I programmi scritti in Java possono controllare la visualizzazione, la generazione e la manipolazione di grafici SVG servendosi del Batik SVG Toolkit.

Caratteristiche

È possibile riassumere quanto contenuto nella Overview of SVG del consorzio W3C.

SVG permette di trattare tre tipi di oggetti grafici:

forme geometriche, cioè linee costituite da segmenti di retta e curve e aree delimitate da linee chiuse;

immagini della grafica raster e immagini digitali;

testi esplicativi, eventualmente cliccabili.

Gli oggetti grafici possono essere raggruppati in oggetti più comprensivi, muniti di attributi di stile e aggiunti ad oggetti grafici precedentemente costruiti e visualizzati. Un testo può far parte di un qualsiasi namespace XML sottoponibile ad un'applicazione; questa possibilità consente di aumentare la ricercabilità e l'accessibilità delle immagini SVG. Il repertorio delle operazioni attuabili include trasformazioni annidate, percorsi di clipping, maschere alpha, effetti di filtro, oggetti template ed estensibilità.

Le figure espresse mediante SVG possono essere dinamiche e interattive. Il Document Object Model (DOM) per SVG, che include il completo XML DOM, consente un'animazione in grafica vettoriale diretta ed efficiente attraverso i linguaggi ECMAScript e SMIL. Agli oggetti grafici SVG si possono assegnare event handlers tratti da un ampio repertorio: due esempi dal ruolo facilmente intuibile sono onmouseover e onclick. Grazie alla compatibilità di SVG con gli altri standard per il web e grazie al mutuo supporto di questi meccanismi, si possono dotare gli elementi SVG e gli altri elementi XML di una pagina web di prestazioni come lo scripting ricavate contemporaneamente da diversi spazi di nomi.

Il sistema SVG rivaleggiava con Adobe Flash (dichiarato obsoleto dal 31 dicembre 2020) in termini di potenziale e di efficienza. Per un primo confronto si fa presente che, contrariamente a Flash, SVG è uno standard aperto.

Utilizzo

La maggior parte dei prodotti software per disegnare come Adobe Illustrator e Corel Draw nelle versioni più recenti è in grado di esportare immagini descritte in SVG. Anche il pacchetto Draw della OpenOffice.org dalla versione 1.1 può esportare file SVG.

Due programmi di grafica vettoriale open source e multipiattaforma che usano in maniera nativa il formato SVG sono Inkscape e Sodipodi.

Grafica vettoriale scalabile

Le potenzialità di una grafica vettoriale scalabile sono notevoli:

la geometria di ciascun elemento grafico è definita matematicamente (in termini di vettori), anziché essere trattata mediante rigidi quadri di pixel;

è possibile ridimensionare a piacere qualsiasi elemento grafico, mantenendone la qualità. Più in particolare, nel visualizzare un dato oggetto grafico su supporti di differente natura (stampa, video, plotter, schermo di cellulare ecc.), si è certi di ottenere sempre la massima qualità che quei supporti possono fornire.

Tali potenzialità interessano praticamente tutte le applicazioni grafiche che non siano puramente raster, cioè basate su mappe di pixel (nella pratica immagini provenienti da fotocamere o da scansioni).

Di contro il "peso" computazionale di un'immagine vettoriale è in genere superiore a quello della grafica raster, in quanto il processore del computer deve sostanzialmente rigenerare l'immagine ex novo ogni qual volta che si ridimensiona la visualizzazione.

Il vantaggio dell'SVG rispetto ad altri formati di grafica vettoriale consiste nella sua natura di standard aperto: in questo modo in linea di principio chiunque lo conosca è in grado di realizzare pagine SVG senza avere la necessità di un ambiente di sviluppo commerciale dedicato.

Trattandosi di un formato derivato dall'XML, eredita da esso la facilità di generazione con mezzi automatici e tramite linguaggi di programmazione.

Dal lato client è infine possibile operare sul modello ad oggetti del documento (il DOM) utilizzando codice ECMAScript (la standardizzazione di JavaScript definita da ECMA).

Programmi per la creazione di svg

Ecco una lista parziale di programmi per la generazione di file svg:

Adobe Illustrator

Affinity Designer (vedere Serif Europe Ltd.)

Gravit Designer

Macromedia FreeHand

Corel Draw

Xara Xtreme

Inkscape (open source)

iDraw

Janvas Editor online

Servizi correlati

Altre voci

Brave (browser)B

Brave (browser)

Brave è un browser open source multipiattaforma specializzato nella protezione della privacy, basato sul progetto Chromium. Sviluppato nel 2016 dall'azienda statunitense Brave Software, è stato ideato e annunciato da Brendan Eich, uno dei fondatori di JavaScript e di Mozilla. È disponibile per…

Leggi la voce →
S

Stranamore

Stranamore è stato un programma televisivo andato in onda dal 1994 al 2009. Ha vissuto il suo momento di maggiore popolarità tra il 1994 e il 1998 quando, con la conduzione di Alberto Castagna, andava in onda la domenica sera su Canale 5. La trasmissione era basata su un format olandese del 1992…

Leggi la voce →
W

WordPress.com

WordPress.com è un servizio di hosting blog gestito da Automattic che si basa sulla versione multi utente del software WordPress. Il servizio consente la creazione di uno o più blog gratuitamente, ed offre alcuni servizi accessori a pagamento. Per ogni blog registrato WordPress.com offre un…

Leggi la voce →
XiaomiX

Xiaomi

Xiaomi Corporation, formalmente registrata come Xiaomi Inc. (/ˈɕiɑʊ̯mi/, 小米科技S, Xiǎomǐ KējìP/) e nota semplicemente come Xiaomi, è un'impresa multinazionale cinese che opera nel campo dell'elettronica di consumo, fondata in Cina nel 2010 da Lei Jun e con sede a Pechino. Xiaomi produce cellulari,…

Leggi la voce →
T

Tailwind CSS

Tailwind CSS è un framework CSS open source che si distingue da altri framework come Bootstrap: anziché offrire una serie di classi predefinite per elementi specifici come pulsanti o tabelle, Tailwind mette a disposizione un ampio elenco di classi CSS "di utilità". Queste classi possono essere…

Leggi la voce →
CSS AlabamaC

CSS Alabama

La CSS Alabama fu una nave a vapore della Marina degli Stati Confederati (sudisti). Fu al centro del caso giudiziario internazionale che porta il suo nome.

Leggi la voce →