« Découvrir le SVG/Chemins » : différence entre les versions
Contenu supprimé Contenu ajouté
m →Courbes quadratiques : corr. |
m <source> -> <syntaxhighlight> (phab:T237267) |
||
Ligne 15 :
Comme pour les éléments <code>polyline</code> et <code>polygon</code>, les coordonnées sont exprimées en <code>px</code> et sont séparées par des espaces ou des virgules. Si plusieurs points se suivent, alors on considère qu'ils sont reliés entre eux. Ainsi, les syntaxes suivantes sont équivalentes et permettent de tracer un trait entre les points (0, 0) et ({{unité|50|px}}, {{unité|50|px}}) :
<
<path d="M 0 0 L 50 50" />
<path d="M0 0 L50 50" />
Ligne 22 :
<path d="M0, 0, 50, 50" />
…
</syntaxhighlight>
: Une instruction ne ''peut pas'' être précédée d'une virgule.
Ligne 33 :
Voici un exemple complet, à comparer avec celui du chapitre précédent ''[[../Éléments graphiques#Lignes et polygones|Éléments graphiques > Lignes et polygones]]'' :
<
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
Ligne 48 :
</svg>
</syntaxhighlight>
Les commandes « aller à » permettent de faire un tracé interrompu, par exemple :
<
<path
d="M0 0, l50 50 m0 -50, l50 50"
stroke="black" fill="none"
/>
</syntaxhighlight>
Quatre commandes viennent faciliter le tracé :
Ligne 61 :
* les commandes <code>V</code> et <code>v</code> ''({{lang|en|vertical lineto}})'' : suivies d'un seul nombre, elles tracent une ligne verticale du point courant au point ayant la même abscisse et l'ordonnée indiquée.
Par exemple, le code source suivant trace un carré de côté 100 et parallèle aux axes du repère :
<
<path
d="M0 0 h100 v100 h-100 z"
stroke="black" fill="none"
/>
</syntaxhighlight>
== Arcs elliptiques ==
Ligne 83 :
* les coordonnées du point d'arrivée, ''x'' et ''y''.
Par exemple,
<
<path
d="M0 0
Ligne 89 :
stroke="black" fill="none"
/>
</syntaxhighlight>
va relier le point (0, 0) au point (10, 10) avec un arc d'ellipse incliné de {{unité|–15|°}}, dont le rayon ''x'' vaut 20 et le rayon ''y'' vaut 13, suivant le petit arc dans le sens positif.
Ligne 115 :
Avec les attributs <code>Q</code> et <code>q</code>, on définit le point d'arrivée (''x''<sub>2</sub>, ''y''<sub>2</sub>) et le point de contrôle intermédiaire (''x''<sub>1</sub>, ''y''<sub>1</sub>) : le code
<
<path
d="M0 0
Ligne 121 :
stroke="black" fill="none"
/>
</syntaxhighlight>
trace une courbe du point P<sub>0</sub>(0, 0) au point P<sub>2</sub>(10, 10) avec le point de contrôle intermédiaire P<sub>1</sub>(5, 2). Ainsi, la tangente en P<sub>0</sub> suit le vecteur P<sub>0</sub>P<sub>1</sub> (5, 2) et la tangente en P<sub>2</sub> suit le vecteur P<sub>1</sub>P<sub>2</sub> (5, 8).
Ligne 136 :
Pour tracer une telle courbe, on utilise les attributs <code>C</code> et <code>c</code> sous la forme
<
<path
d="Mx0 y0
Cx1 y1, x2 y2, x3 y3"
/>
</syntaxhighlight>
Les attributs <code>S</code> et <code>s</code> permettent d'avoir des courbes sans angles : le premier point de contrôle P<sub>1</sub> est le symétrique du point de contrôle précédent par rapport au point P<sub>0</sub>. La syntaxe est donc <code>Tx2 y2, x3 y3</code>.
|