Movatterモバイル変換


[0]ホーム

URL:


Aller au contenu
Wikipédial'encyclopédie libre
Rechercher

Scalable Vector Graphics

Un article de Wikipédia, l'encyclopédie libre.

Page d’aide sur les redirections

« SVG » redirige ici. Pour les autres significations, voirSVG (homonymie).

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.

Cet article sur l'informatique doit êtrerecyclé().

Une réorganisation et une clarification du contenu paraissent nécessaires.Améliorez-le,discutez des points à améliorer ou précisez les sections à recycler en utilisant{{section à recycler}}.
SVG
Scalable Vector Graphics
Logo du SVG.
Caractéristiques
Extensions
.svg,.svgzVoir et modifier les données sur Wikidata
Type MIME
image/svg+xml, image/SVGVoir et modifier les données sur Wikidata
Signature
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <svgVoir et modifier les données sur Wikidata
Développé par
Version initiale
Type de format
Basé sur
Origine de
Norme
Spécification
Site web

modifier -modifier le code -modifier WikidataDocumentation du modèle

Différence conceptuelle entre lesimages matricielles etvectorielles.
Les images vectorielles peuvent être agrandies à l’infini.

LeScalable Vector Graphics (enfrançais « graphique vectoriel adaptable[1] »), ouSVG, est unformat de donnéesASCII conçu pour décrire des ensembles degraphiques vectoriels 2D et fondé surXML. Ce format inspiré directement duVML et duPGML est spécifié par leWorld Wide Web Consortium.

Historique

[modifier |modifier le code]

SVG a été développé à partir de 1999 par un groupe de sociétés au sein du W3C après la mise en concurrence des propositionsPrecision Graphics Markup Language (PGML) proposé par Adobe à partir dePostScript etVector Markup Language (VML) proposé par Microsoft à partir deRich Text Format (RTF). À cette base se sont ajoutées différentes influences, en particulier lesfeuilles de style en cascade (CSS)[2].

En, le W3C publie la « Scalable Vector Graphics (SVG) 1.0 Specification, W3C Recommendation »[3]. En, le standard évolue vers la recommandation enversion 1.1 avec une seconde édition en, qui est la version actuelle.

En parallèle apparaît en la recommandation « Scalable Vector Graphics (SVG) Tiny 1.2 Specification » dont le but est d'être utilisable sur lesappareils mobiles (téléphone mobile,assistant personnel…). Il se présente comme un sous ensemble du « SVG 1.1 Full »[4].

Laversion 2 du langage est en cours de définition au sein du W3C depuis 2012[5],[6], et est stabilisée enrecommandation candidate à la validation depuis octobre 2018[7] (en date de février 2026).

SVG : le dessin et les cartes

[modifier |modifier le code]

Le SVG est très utilisé dans le monde de lacartographie et dutéléphone mobile.[réf. nécessaire]

Caractéristiques

[modifier |modifier le code]

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 ouXSL) permet d’indiquer les couleurs et les polices de caractères à utiliser.Ce format gère quelques formes géométriques de base (rectangles, ellipses, etc.), mais aussi des chemins (paths[8]), qui utilisent lescourbes de Bézier et permettent ainsi d’obtenir presque 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 defiltres (appelésshaders en imagerie 3D). On peut également appliquer des motifs le long des chemins (markers) et utiliser les fonctions de remplissage. Lecanal alpha, pour latransparence, est géré à tous les niveaux.

Comme dans tout documentXML, 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 à desscripts qui peuvent être intégrés dans le SVG.

SVG peut être inclus dans d’autres documents XML, comme des documentsXHTML ou des documentsXML devant être traités parXSL-FO. Respectant la norme XML, une image SVG peut également être manipulée par l’intermédiaire du modèleDocument Object Model (DOM).

SVG peut être visualisé nativement avec certainsnavigateurs web, ou avec unplug-in (voir :les navigateurs SVG).

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, par exemple pour les traductions.

Exemples

[modifier |modifier le code]

Le code suivant permet d’afficher un rectangle, un segment, un cercle et un texte :

Code XML
<?xml version="1.0" encoding="utf-8"?><svgxmlns="http://www.w3.org/2000/svg"version="1.1"width="300"height="200"><title>ExemplesimpledefigureSVG</title><desc>Cettefigureestconstituéed'unrectangle,d'unsegmentdedroiteetd'uncercle.</desc><rectwidth="100"height="80"x="0"y="70"fill="green"/><linex1="5"y1="5"x2="250"y2="95"stroke="red"/><circlecx="90"cy="80"r="50"fill="blue"/><textx="180"y="60">Untexte</text></svg>
Image correspondante

Il est possible d’utiliser le format SVG pour des images plus complexes (illustration de laTectonique des plaques).

Paths

[modifier |modifier le code]

Des formes simples ou composées sont formées par le tracé de contours droits ou courbés qui peuvent être remplis, soulignées ou utilisés commetracé de détourage. Ces formes s'appelles path selon une convention de la langue anglaise. Pour un codage compact, donc court ou bref, cespaths sont codés sans syntaxe superflue[note 1]. Par exempleM (pour un déplacement de l'anglais "move to") précède les nombresx ety initiaux decoordinées cartésiennes, etL (rejoindre par une ligne de l'anglais "line to") précède le point que la ligne doit rejoindre. Les lettres des commandes suivantes (C,S,Q,T, etA) précèdent les données utilisées pour tracer des courbes deBézier et des courbeselliptiques.Z est utilisé pour fermer un chemin.La casse des lettres indique le caractère relatif (minuscules) ou absolu (majuscules) des coordonnées.Dans tous les cas, des coordonnées absolues suivent les commandes en lettres capitales et des coordonnées relatives sont utilisées pour les lettres minuscules[9].

Code XML
<?xml version="1.0" encoding="utf-8"?><svgxmlns="http://www.w3.org/2000/svg"width="376"height="68"><title>ExemplesimpledefigureSVG</title><desc>Cettefigureestconstituéedecheminsdécritspardespath</desc><pathstroke="#000"stroke-width="5"fill="none"d="m1,8h66m34,3h67m34,3h67m39,1h67M1,60h66 m34-4h67m34-3h67m33,0h67M8,0V68m52,0V0m52,0V68m45,0V0m59,0V68m38,0V0m71,1-12,66m39,0 12-66"/></svg></svg>

Les notations H et V sont des notations abrégées pour noter des tracés horizontaux et verticaux (respectivement) dont l'une des coordonnées est nulle.


Image correspondante
1,8
h+66
101,11
h+67
202,14
h+67
308,15
h+67


1,60
h+66
101,56
h+67
202,53
h+67
308,53
h+67
Traits horizontaux des variantes graphiques préconisées pour la touche par la recommandation E.161
  • Tracé de quatre lignes horizontales, annotées en bleu: "m1,8h66 m34,3h67 m34,3h67 m39,1h67"
  • Tracé de quatre lignes horizontales, annotées en vert: "M1,60h66 m34-4h67 m34-3h67 m33,0h67"

Tracé des barres verticales:

  • "M8,0V68 m52,0V0" # caractère 1
  • "m52,0V68 m45,0V0" # caractère 2
  • "m59,0V68 m38,0V0" # caractère 3
  • "m71,1-12,66" # vers le sud ouest
  • "m39,0 12-66" # vers le nord est
M8,0
V68
m52,0
V0
m52,0
V68
m45,0
V0
m59,0
V68
m38,0
V0
m71,1
-12,66
m39,0
12-66
Traits verticaux des variantes graphiques préconisées pour la touche par la recommandation E.161

Mises en œuvre

[modifier |modifier le code]

Le support du SVG est possible à différents niveaux :plugin dans le navigateur, au niveau applicatif (navigateur ou logiciel d’édition SVG), au niveau de l'environnement de bureau (KDE, par exemple) ou du « matériel » (téléphone).

Logiciel d’édition

[modifier |modifier le code]
Manipulation d’image SVG avecInkscape.

Certains éditeurs visuels sont fournis avec un éditeur enmode texte. Parfois ce mode texte supporte la complétion et lacoloration syntaxique pour aider à écrire du SVG.

Mode textuel XML

[modifier |modifier le code]
  • Spket IDE (gratuit pour une utilisation non commerciale) supporte JavaScript (coloration) et le SVG. Existe sous forme deplugin ou non pourEclipse.
  • XMLSpy (gratuit ou commercial) sous Windows
  • oXygen (commercial) supporte XSLT et le rendu SVG

Mode graphique

[modifier |modifier le code]
  • Adobe Illustrator. Le logiciel Adobe illustrator reconnait fort bien les fichiers SVG. Il ajoute toutefois des balises propriétaires, des regroupements de calques, et des dépendances CSS qui rendent ses fichiers peu exploitables en dehors de la suite Adobe.
  • Affinity. La suite Affinity permet l’importation, la création, la modification, et l’exportation des fichiers au format SVG dans tous ses logiciels.
  • Blender importe le SVG.
  • CorelDraw importe, crée, modifie et exporte le format SVG.
  • DRAW SVG, éditeur en ligne libre avec une interface aussi en SVG et de nombreuses fonctionnalités.
  • FontForge : logiciel libre d’édition defontes, permet d’importer/exporter lesfontes SVG ainsi que les chemins SVG pour créer des fontes dans différents formats.
  • GIMP Logiciel libre de dessin et animation orienté bitmap, gérant l’import et l’export despaths au format SVG, et la transformation d’images au format SVG, vers un bitmap grâce à la bibliothèquelibrsvg.
  • Gournal[10] etNotelab[11], deux logiciels libres de prises de notes (au stylet, doigts sur tablettes, ainsi qu’à la souris et au clavier) qui utilisent le format SVG comme format de sauvegarde.
  • ImageMagick permet la manipulation et la conversion de fichiers SVG par scripts, en ligne de commande et dans de nombreux langages.
  • Inkscape (logiciel libre sous Licence GNU) et ses deux ancêtres ;Sodipodi et Gill (logiciels libres), supportent complètement SVG (les animations n'étant cependant pas encore supportées sans l'ajout d'extensions[12]).
  • Karbon14 (logiciel libre).
  • OpenOffice.org Draw /LibreOffice, logiciel libre de dessin vectoriel, gère le format SVG.
  • Scribus importe les fichiers au format SVG.
  • Skitch permet d'enregistrer sous format SVG.
  • SVGEdit éditeur libre anciennement utilisé parBlueGriffon ou en ligne parFramavectoriel.

Éditeurs incluant des graphiques SVG

[modifier |modifier le code]
  • CaRMetal exporte au format SVG.
  • Dia : logiciel libre d’édition de diagrammes qui utilise des objets au format SVG et permet l’export des diagrammes au format SVG.
  • DOT Graph, outil d'affichage degraphes enligne de commande, supporte l'export au format SVG.
  • FreeMind : logiciel libre qui se décrit comme une application du concept des cartes mentales à l'interface homme-machine. Les cartes ainsi créées peuvent être exportées au format SVG.
  • Fritzing : logiciel libre de dessin de circuits imprimés qui utilise SVG pour l'image des composants et permet l'export au format SVG.
  • GeoGebra exporte au format SVG.
  • JetPunk utilise des cartes du monde SVG pour la plupart de ses quiz, notamment le plus populaire du site, « Pays du monde ».
  • Maple etMathematica supportent l'export des formules, des feuilles de travail, des figures et des animations au format SVG.
  • Matlab, etGNU Octave (viaGnuplot) supportent l'export des figures et des animations au format SVG.
  • MediaWiki : logiciel libre de documentation collaboratif (notamment utilisé parWikipédia) qui accepte les illustrations au format SVG, comme on peut le voir sur cette page.
  • Scribus : logiciel libre demise en page qui permet d’insérer et de manipuler des illustrations au format SVG.
  • Scilab exporte au format SVG.

Logiciel de vectorisation

[modifier |modifier le code]

La création d'un document image vectorielle à partir d'une image raster (bitmap / en mode point) peut s'effectuer de différentes manières qui correspondent à des usages différents. Elle peut être réalisée de manière simple et automatique quand il ne s'agit que de conserver l'apparence d'une image « au trait ». La création d'un document image vectorielle peut nécessiter le recours à un logiciel spécialisé avec, éventuellement, l'intervention d'un opérateur, s'il s'agit de créer un document image vectoriel où les composantes de l'image (les segments composant les tracés par exemple) peuvent avoir des significations différentes. C'est le cas de la vectorisation d'une carte scannée comportant des objets dont il est intéressant de conserver la différenciation : limite de cours d'eau, limites de voirie, limites de forêts, etc.

Logiciel derastérisation

[modifier |modifier le code]
  • PixJet,Adobe Illustrator,CorelDRAW,Inkscapeetc.

En ligne :

Environnements graphiques supportant SVG

[modifier |modifier le code]

Desenvironnements graphiques utilisent le format SVG :X.Org,GNOME etKDE, ainsi que de nombreux téléphones cellulaires, tels que lesSony Ericsson.AcornRISC OS incluent également un support natif d'un format vectoriel nomméAcorn Draw, proche de SVG.

Les navigateurs SVG

[modifier |modifier le code]

Le rendu SVG est intégré dansHTML5 (balises<svg> et</svg>) et est supporté nativement par la plupart des navigateurs Web depuis 2010[20].

Support natif du SVG

[modifier |modifier le code]

Support SVG parplugin

[modifier |modifier le code]

Lesplugin pour SVG ne sont plus maintenus actuellement, du moins pour lenavigateurInternet Explorer. Seul reste maintenu leplugin KSVG.

  • Adobe proposait unplugin gratuit appliquant la norme 1.0/1.1/. Le support pour ceplugin s'est terminé le, à la suite de l'acquisition par Adobe, en 2005, deMacromédia et de sa technologie concurrenteFlash. Ceplugin fonctionnait alors pour plusieurs plates-formes (Internet Explorer deWindows,Safari surMac OS).
  • Renesis Player (en) (deExamotion GmbH) propose un support pour Windows (Internet Explorer) intégrant une partie deJavaScript et lefullSVG 1.2. Le support partiel pose des problèmes de rendu et d'interactivité (évènements claviers).
  • Corel a mis fin au développement de sonSVG Viewer plugin pour Internet Explorer.
  • Le consortiumSVG Map[21] a mis à disposition le unplugin encore en développement pour Internet Explorer (nomméSVG MapProfile 1.0[22] puisTiling and Layering Module for SVGTiny 1.2[23]).
  • KSVG (de) est unplugin développé parKDE pour le navigateurKonqueror (Linux). Laversion 2 du moteur de rendu KSVG appelé KSVG2 doit être incorporée au niveau de KDE et non plus du navigateur.
  • Google met au point une bibliothèque qui a pour but d'obtenir le rendu d'un contenu en SVG via lepluginFlash dans Internet Explorer (à partir d'IE 6 jusqu'aux versions récentes). Ce projet en version de développement, mais tout à fait fonctionnel, porte pour nomSVG Web[24]. Il s'agit d'un projet placé sous la licence libreApacheLicense 2.0.
  • Chrome Frame (en) est unplugin développé par Google pour Internet Explorer qui remplace sonmoteur HTML par celui deChrome, permettant ainsi l'affichage du SVG.

Visualisateurs de vignettes SVG

[modifier |modifier le code]
  • ShareCAD.org[25] visionneuse gratuite en ligne.
  • ABViewer[26] permet la visualisation, l'édition et la conversion des fichiers SVG.
  • Nautilus de l'environnement de bureau libreGNOME permet la visualisation de vignettes des fichiers SVG (Linux, Solaris, BSD).
  • Dolphin etKonqueror de l'environnement de bureau libreKDE permettent la visualisation de vignettes des fichiers SVG (Linux, Solaris, BSD).
  • LegratuicielRENESIS Player fournit un visualisateur ainsi qu'un visualisateur de vignettes pour l'explorateur de fichiersWindows[27].

Support mobile

[modifier |modifier le code]

La mise en œuvre du rendu SVG pour les périphériques mobiles (PDA, téléphones portables) est faite de façon native (Ikivo, Bitflash Adobe), ou par logiciel de navigation (navigateurs Java Sun,Opera Mini etiPhone Safari).

La norme supportée par ces périphériques dépend du fabricant de téléphone et de la version installée. La plupart des versions supportent la normeSVGTiny 1.1 et parfois 1.1+ avec le support de module annexe (gradient et opacité).

Nokia supporte le rendu SVG en interne pour ses plates-formes des Nokia S60 ou en s'appuyant sur Java et les normesJSR 226, Java ME pour la plate-forme des S60 (3e éditionPack 1). D'autres séries comme le 6280 supportent aussi le SVG.

La plupart des téléphones Sony Ericsson phones commencent à supporter leSVGTiny 1.1 comme leK700 et le 1.1+ comme leK750 (pl),C905,W890 (en) etW995.

Les périphériques supportant la plate-formejava ME et la normeJSR 226 supportent aussi un renduSVG 1.1+.

SVG est aussi supporté par des modèles fabriqués parMotorola,Samsung,LG ouSiemens,Sony.

Critiques

[modifier |modifier le code]

La norme SVG ne permet pas de créer des points d'articulations[pas clair], tels des nœuds dans un graphe. La notion depointeur n'existe pas en SVG[pas clair], ce qui rend la description de scènes dynamiques complexe.

SVG n'a pas hérité de toutes les propriétés de son parent directVML, tel le dégradé « GradientTitle », l'ombre de type « Perspective », l’« Extrusion » 3D, l'auto stroke-fill, l'auto fill-darken, l'auto fit text-ajustetc.. Des alternatives factices existent, mais elles rendent les fichiers SVG plus lourds et plus lents à l'affichage.

Enfin, SVG n'est en majorité supporté par les navigateurs que dans saversion 1.1, ce qui ne permet pas d'employer decontrôle de flux (flowRoot, flowRegion) et ne permet donc pas par exemple de faire du texte qui s'adapte à son conteneur et qui effectue des retours à la ligne automatiquement.

Notes et références

[modifier |modifier le code]

Notes

[modifier |modifier le code]
  1. XML superflue, sans nécessiter d'espace entre les commandes, avec des commandes d'une seule lettre, ainsi qu'avec des distances relatives

Références

[modifier |modifier le code]
  1. Dénomination adoptée entre autres par Fréderic Delhoume pour la traduction du livreSVG de J. David Eisenberg, aux éditionsO'Reilly.
  2. (en) « Secret Origin of SVG »,World Wide Web Consortium,(consulté le).
  3. (en) « Scalable Vector Graphics (SVG) 1.0 Specification, W3C Recommendation », surW3C(consulté le).
  4. (en) « Scalable Vector Graphics (SVG) Tiny 1.2 Specification », surW3C(consulté le).
  5. « Scalable Vector Graphics (SVG) 2 », surwww.w3.org(consulté le)
  6. (en) « Scalable Vector Graphics (SVG) 2, W3C Working Draft 09 April 2013 », surW3C(consulté le).
  7. (en) « Scalable Vector Graphics (SVG) 2 », surwww.w3.org,(consulté le)
  8. (en) « Paths — SVG 2 ».
  9. « SVG specification, "Paths" »[archive du], World Wide Web Consortium,(consulté le)
  10. (en) « Gournal », surDual elephants(consulté le).
  11. (en) « Site officiel », surNote Lab(consulté le).
  12. L'extensionlibreSozi (de) vue sursozi.baierouge.fr permet de faire des présentations animées SVG à laPrezi sur Inskape.
  13. (en) « AutoTrace - converts bitmap to vector graphics », surAutoTrace(consulté le).
  14. (fr)« la vectorisation d'une image bitmap », surInkscape Tutorial(consulté le).
  15. « Potrace », sursourceforge.
  16. - Vector Magic.
  17. (en)FileFormat.info - SVG to raster image conversion.
  18. (en)-Online image converter.
  19. (en)SVGConv - The free online SVG converter.
  20. (en) « Browser Support for SVG (A Brief Synopsis) », surwww.w3.org(consulté le).
  21. (en + ja)Blog duSVG Map Consortium.
  22. (en + ja)Page du blog duSVG Map Consortium traitant duSVG MapProfile 1.0.
  23. (en + ja)Page du blog duSVG Map Consortium traitant duTiling and Layering Module for SVGTiny 1.2.
  24. (en)[1] Support SVG pour IE via le plugin Flash.
  25. - sketchvectorize.
  26. [2].
  27. (en)examotion: Features.

Annexes

[modifier |modifier le code]

Sur les autres projets Wikimedia :

Articles connexes

[modifier |modifier le code]

Liens externes

[modifier |modifier le code]

v ·m
Côté serveur
Protocole de communication
APIs serveur
Modules apaches
Sujets
Côté client
W3C
Khronos
Autres
Sujets
v ·m
Éditeurs
Logiciels libres
Logiciels propriétaires
Anciens logiciels
Formats de données
Ce document provient de « https://fr.wikipedia.org/w/index.php?title=Scalable_Vector_Graphics&oldid=233331242 ».
Catégories :
Catégories cachées :

[8]ページ先頭

©2009-2026 Movatter.jp