Scalable Vector Graphics

Immagine mancante
Svg-example-2.png
Esempio SVG

Scalable Vector Graphics abbreviato in SVG, indica una tecnologia in grado di visualizzare oggetti di grafica vettoriale e, pertanto, di gestire immagini scalabili dimensionalmente.
Più specificamente si tratta di un linguaggio derivato dall'XML, cioè di un'applicazione del metalinguaggio posto a base degli sviluppi del Web da parte del consorzio W3C, che si pone l'obiettivo di descrivere figure bidimensionali statiche e animate.

Indice

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. Altri browsers 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 editors e viewers autonomi. Una particolare versione di Mozilla, chiamata "Croczilla", ora supporta alcune parti dello standard SVG, ma gran parte delle prestazioni non sono ancora ottenibili: 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 una implementazione di SVG abbastanza completa chiamata ksvg e c'è da aspettarsi che in futuro questo supporto sarà adattato al web browser Safari della Apple Computer. I programmi scritti in Java possono controllare la visualizzazione, la generazione e la manipolazione di grafici SVG servendosi del Batik SVG Toolkit.

Caratteristiche

Riassumiamo quanto contenuto nella Overview of SVG del consorzio W3C.

SVG permette di trattare tre tipi di oggetti grafici:

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 una 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 una 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 standards 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 rivaleggia con Macromedia Flash in termini di potenziale e di efficienza. Per un primo confronto rileviamo che, contrariamente a Flash, SVG è uno standard aperto, ma d'altra parte il plug-in Flash è molto più maturo e diffuso degli strumenti omologhi per SVG.

Utilizzazione pratica

La maggior parte dei prodotti software per disegnare come Adobe Illustrator e Corel Draw nelle versioni più recenti si sono messi in grado di esportare immagini descritte in SVG. Anche il pacchetto Drau della OpenOffice.org dalla versione 1.1 può esportare files SVG. Due strumenti grafici open source e multipiattaforma che usano il formato SVG sono Sodipodi e Inkscape.

Grafica vettoriale scalabile

Le potenzialità di una grafica vettoriale scalabile sono notevoli:

Tali potenzialità coinvolgono praticamente tutte le applicazioni grafiche che non siano soltanto di tipo raster, cioè fornite da mappe di bits o da loro compressioni (nella pratica immagini provenienti da fotografie o da altre figure scannerizzate).

Il vantaggio dell'SVG sopra altri prodotti consiste nel fatto che si tratta di una standard aperto, come d'altronde l'HTML: 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 proprietario.
Trattandosi di un codice derivato dall'XML, è facilmente gestibile e generabile da Java, con tutti gli sviluppi che è possibile immaginare (pagine JSP, codice SVG generato al volo, mappe e schemi interattivi, ...).
Dal lato cliente è infine possibile interagire a livello del modello ad oggetti del documento (il DOM) utilizzando codice ECMAScript (la standardizzazione di Javascript definita da ECMA).

Vedi anche:

Collegamenti esternis esterni

SVG clipart

Editor SVG

Nota


Purtroppo non è ancora possibile includere elementi SVG negli articoli di wikipedia, come accade per le immagini nei formati grafici usuali, cioè con stringhe come [[Image:Wp sunflower yellow.svg]]. Purtroppo!

See also: Scalable Vector Graphics, 2001, Adobe, Apple Computer, Cellulare, Grafica raster, Grafica vettoriale, HTML, Javascript, KDE