Scalable Vector Graphics
Un article de Wikipédia, l'encyclopédie libre.
Scalable Vector Graphics | |
.svg |
|
image/svg+xml |
|
Développé par : |
World Wide Web Consortium |
Type de format : |
format d’image vectorielle |
Extension du : |
XML |
Spécification : |
Format ouvert |
Scalable Vector Graphics (SVG) est un format de données conçu pour décrire des ensembles de graphiques vectoriels et basé sur XML. Ce format est spécifié par le World Wide Web Consortium.
Sommaire |
[modifier] Caractéristiques
Les coordonnées, dimensions et structures des objets vectoriels sont indiquées sous forme numérique dans le document XML. Un système spécifique de style (CSS ou XSL) permet d’indiquer les couleurs et les polices d’écriture à utiliser.
Ce format gère quelques formes géométriques de base (rectangles, ellipses, etc.), mais aussi des chemins ((en)paths), qui utilisent les courbes de Bézier et permettent ainsi d’obtenir presque n’importe quelle forme. Le remplissage peut se faire à l’aide de dégradés ((en)gradients) de couleurs de motifs (pattern) qui sont des objets SVG quelconques, ou de filtres (appelés (en)shaders en imagerie 3D). On peut également appliquer des motifs le long des chemins ((en)markers) et utiliser les fonctions de remplissage. Le canal alpha, pour la transparence, est géré à tous les niveaux.
Comme dans tout document XML, les objets sont organisés sous forme d’arbre. Le format permet l’intégration d’animations, ou la manipulation des objets graphiques par programmation, notamment grâce à des scripts qui peuvent être intégrés dans le SVG.
Un des intérêts majeurs de SVG est qu’il peut être inclus dans d’autres documents XML, comme par exemple des documents XHTML ou des documents XML devant être traités par XSL-FO. Respectant la norme XML, une image SVG peut également être manipulée par l’intermédiaire du modèle Document Object Model (DOM).
SVG peut être visualisé nativement avec des navigateurs web modernes, comme Konqueror, Opera, et Mozilla Firefox, ou à l’aide d’un plug-in pour d’autres.
Certains environnements graphiques l’utilisent pour la gestion et l’affichage d’icônes, et d’interface, comme X.org, GNOME, KDE ou certains téléphones portables.
Des logiciels graphiques permettent de modifier facilement chaque forme, par exemple en déplaçant des points, ou en changeant la couleur des traits, … Il en est de même pour le texte qui peut être modifié sans toucher aux formes, ce qui facilite grandement la modification de schémas.
[modifier] Exemples
[modifier] Simple
<?xml version="1.0" encoding="utf-8"?> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" version="1.1" baseProfile="full" x="0" y="0" width="300" height="200" id="svg2"> <title>Rectangles</title> <defs id="defs4" /> <g id="layer1"> <rect width="300" height="120" x="0" y="20" fill="green" id="rect1306" /> <rect width="80" height="150" x="20" y="30" fill="red" id="rect1308" /> <rect width="140" height="80" x="50" y="50" fill="blue" id="rect1310" /> </g> </svg> |
L’affichage graphique du code ci-contre donne ce résultat :
On distingue nettement les trois rectangles, le vert de dimensions 300×120 pixels, |
[modifier] Complexe
Voici un autre exemple beaucoup plus compliqué en SVG, montrant les différentes plaques tectoniques de la Terre :
[modifier] Compatibilité
Gecko (Firefox, Epiphany) est partiellement compatible SVG, mais le résultat rendu est tout à fait acceptable. Les animations et les déplacements d'objets sont bien gérés par exemple.
Opera 9 est compatible SVG[1].
[modifier] Voir aussi
[modifier] Notions connexes
[modifier] Logiciels d'édition de SVG
- Inkscape et ses 2 ancêtres ; Sodipodi et Gill (logiciel libre)
- Skencil (anciennement Sketch) (logiciel libre)
- Karbon14 (logiciel libre)
- OpenOffice.org Draw (logiciel libre)
- Gimp (logiciel libre)
- Illustrator
- CorelDraw
- Paint.NET (logiciel libre) N.B. Ce logiciel n'est pas prévu à la base pour du dessin vectoriel
Ces environnements graphiques utilisent le format SVG : X.Org, GNOME, KDE, ainsi que de nombreux téléphones cellulaires tels que les Sony/Ericsson.
[modifier] Navigateurs supportant le format SVG
- Le moteur Gecko de Mozilla supporte le SVG nativement (mais pas complètement), il est utilisé par les navigateurs et aggrégateurs :
- Le moteur Khtml supporte partiellement le SVG
- Opera supporte nativement le SVG
- Les téléphones mobiles de norme 3G supportent le SVG tiny et permettant donc de naviguer sur des sites webs utilisant le SVG
[modifier] Références
[modifier] Liens externes
- La page francophone du format SVG
- Portail francophone de la communauté SVG
- (en) La page SVG du site W3C et la liste des fonctions
- (en) SVG.org Un site d’information sur le format SVG et ses applications. Notamment les mobiles.
- (en) La page SVG de Mozilla
- (en) La page SVG de Opera
- (en) Un jeu de cartes à jouer très détaillé entièrement en SVG
- (fr) Dessin vectoriel : le format SVG sur Générationcyb.net
- (en) Modèle gravitationnel : Un très bel exemple d’interactivité en svg avec du javascript (site partisan du créationnisme)
[modifier] Bibliothèques SVG
- (en) Apache Batik, API Java permettant de générer des documents SVG
- (en) librsvg est une bibliothèque spécialisée SVG, en permettant la manipulation et la conversion en bitmap (en mémoire ou en fichier JPEG ou PNG). Elle est notamment utilisée sur les serveurs de Wikimedia pour convertir les SVG vers les PNG, à la volée, pour permettre l’affichage sur les navigateurs qui ne supportent pas le SVG nativement.
- (en) Cairo pour l’accélération matérielle du rendu, comme un des 2 moteurs SVG de Mozilla pour linux.
- (en) module Perl SVG
- (en) svgGraph, bibliothèque PHP + exemple + doc permettant de faire des histogrammes (ligne, barre) SVG en PHP
- (en) http://www.openclipart.org/ Bibliothèque de clip art au format SVG, libre de droits (projet initié par les créateurs d’Inkscape)
- OFC Charts est une bibliothèque Java open source permettant de créer courbes, histogrammes, camemberts, etc. au format SVG statique ou animé.
- (en) http://wxsvg.sourceforge.net/ Renderer SVG en C++/DOM dont les classes C++ sont générées à partir du standard W3C (IDL+DTD). Peut etre utilisé comme gadget wxWidgets. Permet la construction de GUI.
- (en) Vector Magic, site gratuit de vectorisation d’image conservant les couleurs.
[modifier] Visualisation/plugin SVG
- librsvg bibliothèque libre SVG, contient un visualiseur et un plugin Mozilla/Firefox ainsi que Konqueror et de nombreux autres outils libres, depuis sa version 2.8.0 (supporte les chemins, dégradés, les marques ansi que les filtres).
- Adobe SVG Viewer, visualiseur SVG, notamment comme plugin HTML
- Corel SVG Viewer, un autre visualiseur SVG (en anglais)
- Renesis Player, visualiseur SVG 1.2, notamment sous la forme de plugin pour Internet Explorer.
[modifier] Éditeurs SVG
- Inkscape, un logiciel libre de dessin vectoriel spécialisé SVG ((en)fork de Sodipodi).
- skencil (anciennement Sketch), est un éditeur vectoriel permettant l’import/export SVG.
- The GIMP Logiciel libre de dessin et animation orienté bitmap, gérant l’import et l’export des paths au format SVG, et la transformation d’images au format SVG, vers un bitmap grâce à la bibliothèque librsvg
- Imagemagick permet la manipulation et la conversion de fichiers SVG par scripts, en ligne de commande et dans de nombreux langages.
- FontForge logiciel libre d’édition de fontes, permet d’importer/exporter les fontes SVG ainsi que les chemins SVG pour créer des fontes dans différents formats.
- OpenOffice Draw, logiciel libre de dessin vectoriel, gère le format SVG dans sa version 2.3 (exportation uniquement).
- Gournal [1] et Notelab[2] 2 logiciels libres de prises de notes (au stylet ou à la souris et au clavier) utilisent le format SVG comme format de sauvegarde.
[modifier] Éditeurs incluant des graphiques SVG
- Scribus : logiciel libre de mise en page permet d’insérer et de manipuler des illustrations au format SVG.
- Dia : logiciel libre d’édition de diagrammes utilise des objets au format SVG et permet l’export des diagrammes au format SVG.
- MediaWiki : logiciel libre de documentation collaboratif (notamment utilisé par Wikipédia) accepte les illustrations au format SVG, comme on peut le voir sur cette page.
[modifier] Générateurs de SVG
- Gnumeric (logiciel libre), tableur générant des graphes au format SVG.
- Graphviz (logiciel libre), générateur automatique de graphiques avec sortie SVG
- Gnuplot (logiciel libre), traceur de fonctions (2D et 3D) scientifique, gérant la sortie au format SVG
- Ploticus [3] (logiciel libre), générateur de graphs, gérant le format SVG et les imagesmaps.
Il existe également de nombreux systèmes d’information géographiques (SIG) générant des cartes au format SVG.