Un article de Wikipedia.y-project.com.
Scalable Vector Graphics (SVG) est une spécification du W3C. C'est un format de fichier basé sur XML permettant de décrire des ensembles de graphiques vectoriels.
[] Caractéristiques
Les coordonnées, dimensions et structures des objets vectoriels sont indiqués 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 (paths en anglais), qui utilisent les courbes de Bézier et permettent ainsi d'obtenir n'importe quelle forme. Le remplissage peut se faire à l'aide de dégradés (gradients) de couleurs de motifs (pattern) qui sont des objets SVG quelconques, ou de filtres (appelés shaders en imagerie 3D). On peut également appliquer des motifs le long des chemins (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 le 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 certains navigateurs Web, comme Mozilla (fonctionnalité en développement et non intégrée aux versions officielles) et Firefox (dans sa version 1.5), ou à l'aide d'un plug-in pour d'autres.
Certaines interfaces 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.
[] Exemples
Trois objets rectangulaires
<?xml version="1.0" encoding="UTF-8"?>
<svg
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
version="1.0"
x="0"
y="0"
width="300"
height="200"
id="svg2">
<defs
id="defs4" />
<g
id="layer1">
<rect
width="300"
height="120"
x="0"
y="20"
style="fill:green;"
id="rect1306" />
<rect
width="80"
height="150"
x="20"
y="30"
style="fill:red;"
id="rect1308" />
<rect
width="140"
height="80"
x="50"
y="50"
style="fill:blue;"
id="rect1310" />
</g>
</svg>
| L'affichage graphique du code ci-contre donne ce résultat :
Image:Example svg.svg
On distingue nettement les trois rectangles, le vert de dimensions 300x120 pixels, le rouge (80x150) et le bleu (140x80).
|
Voici un autre exemple beaucoup plus compliqué en SVG, montrant les différentes plaques tectoniques de la Terre :
[] Voir aussi
[] Liens internes
- Environnements graphiques utilisant le format SVG
- X.Org permet l'utilisation du format SVG, et l'accélération matérielle partielle des tracés SVG.
- GNOME gère les icônes et les dessins au format SVG, c'est pour ce bureau que la librsvg à été conçue à la base.
- KDE permet également l'utilisation du format SVG.
- Bibliothèques SVG
- Apache Batik, API Java permettant de générer des documents SVG
- 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).
- bibliothèque xsvg utilisée par le projet X.org, utilisant Cairo pour l'acceleration matérielle du rendu, comme un des 2 moteurs SVG de Mozilla pour linux.
- module Perl SVG
- svgGraph, bibliothèque PHP + exemple + doc permettant de faire des histogrammes (ligne, barre) SVG en PHP
- http://www.openclipart.org/ Bibliothèque de clip art au format SVG, libre de droits (projet initié par les créateurs d' Inkscape)
- Visualisation/plugin SVG
- Éditeurs de SVG
Le Texte ci-dessus est disponible sous GNU Free Documentation License.
La source est wikipedia http://fr.wikipedia.org/wiki/svg