Premiers pas en SVG (Scalable Vector Graphics)
Rappel des codes d’exemple pr´esent´es en cours :
Dessin de deux yeux dans une tˆete :
<?xml version="1.0" ?>
<svg xmlns="http://www.w3.org/2000/svg">
<circle cx="70" cy="95" r="50" style="stroke:black;fill=none" />
<circle cx="55" cy="80" r="5" style="stroke:black;fill=black" />
<circle cx="85" cy="80" r="5" style="stroke:black;fill=black" />
</svg>
Et avec des moustaches et un sourire en forme de sali`ere, on obtient un chat :
<?xml version="1.0" ?>
<svg xmlns="http://www.w3.org/2000/svg">
<circle cx="70" cy="95" r="50" style="stroke:black;fill=none"/>
<circle cx="55" cy="80" r="5" style="stroke:black;fill=black"/>
<circle cx="85" cy="80" r="5" style="stroke:black;fill=black"/>
<g id="moustaches">
<line x1="75" y1="95" x2="135" y2="85" style="stroke:black;"/>
<line x1="75" y1="95" x2="135" y2="105" style="stroke:black;"/>
</g>
<use xlink:href="#moustaches" transform="scale(-1 1) translate(-140 0)" />
<polyline points="65 65, 75 65, 72 75, 68 75" style="stroke:black; fill:yellow" />
</svg>
Cr´eation d’une petite animation (utilisez Opera ou Chromium) :
<?xml version="1.0" ?>
<svg xmlns="http://www.w3.org/2000/svg">
<!-- Dessin d’une courbe -->
<path d="M50 125, C100 25, 150 225, 200 125" style="fill:none; stroke:blue;" />
<!-- Dessin d’un triangle donc le barycentre est en 0:0 -->
<path d="M-10 -3, L10 -3, L0 -25z" style="fill:none; stroke:red;">
<!-- Association d’une animation qui suit la courbe -->
<animateMotion path="M50 125, C100 25, 150 225, 200 125"
rotate="auto" dur="5s" fill="freeze" />
</path>
</svg>
Pour d´efinir l’´echelle et la position de l’image `a afficher :
deux attributs sont indispensables et `a ajouter `a la balise svg :
—viewBox →4 valeurs : xmin, ymin, xmax-xmin, ymax-ymin
—preserveAspectRatio
→faire une recherche sur le web pour comprendre leur utilisation !
3