Cette leçon est très importante. Vous allez découvrir quelques outils du langage SVG qui permettent de simplifier sensiblement le code.
La balise USE permet de cloner un modèle. Attention un clonage n'est pas une copie simple. Le clone est lié à l'original ;
si ce dernier change les clones sont modifiés aussi.
Observez attentivement l'image vectorielle insérée dans la page.
Vous avez quatre maisons et quatre arbres qui sont strictement identiques.
Observez très attentivement le code ci-dessus !
Nous avons cinq formes de base (4 rectangles et un cercle) qui sont à l'intérieur du conteneur G. Ce conteneur G à l'attribut ID.
Nous avons créé un premier groupe de formes
qui est identifié "maison".
Nous avons ensuite deux formes regroupées dans un groupe identifié "arbre".
Ces deux éléments SVG sont contenus dans le conteneur DEFS (comme DEFinitionS). Donc ces éléments ne sont pas dessinés ! Ce sont des modèles !.
Pour dessiner effectivement les maisons et les arbres il suffit de dupliquer (cloner) les modèles préalablement définis.
La balise USE permet de cloner (dupliquer) un modèle.
Pour les deux derniers clonages je n'ai pas utilisé les attributs x et y mais à la place j'effectue une translation via l'attribut transform argumenté avec la commande translate().
On peut définir un nouveau modèle à partir d'un modèle de base.
Par rapport au fichier SVG précédent j'ai ajouté dans la partie defs :
Les modèles oranger et citronier sont basés sur le modèle arbre.
Donc au niveau de la partie clonage il suffit d'écrire (extraits du code) :
Plus loin dans ce tuto je vous montrerai que la définition de modèles peut être réalisée plus simplement avec la balise symbol
Retour menu