SVG_Use

4D - Documentation   Français   English   German   Composant 4D SVG, Commandes par thèmes   4D SVG, Index   Retour   Précédent   Suivant

version 11.3


SVG_Use (objetSVGParent; id{; x; y; largeur; hauteur{; mode}}) Ref_SVG

ParamètreTypeDescription
objetSVGParentRef_SVGRéférence de l'élément parent
idChaîneNom du symbole
xNumériquePosition X du rectangle de visualisation
yNumériquePosition Y du rectangle de visualisation
largeurNumériqueLargeur du rectangle de visualisation
hauteurNumériqueHauteur du rectangle de visualisation
modeChaîneAdaptation au rectangle de visualisation
RésultatRef_SVGRéférence de l'objet SVG

Description

La commande SVG_Use place une occurrence du symbole id dans le conteneur SVG désigné par objetSVGParent et retourne sa référence. Si objetSVGParent n'est pas un document SVG ou si id n'est pas le nom d'un objet du document SVG, une erreur est générée.

Un symbole est utilisé pour définir des objets graphiques, il n'est jamais rendu directement mais peut être instancié à l'aide de la commande SVG_Use.

Le paramètre id spécifie le nom du symbole.

Les paramètres optionnels x, y, largeur et hauteur spécifient le rectangle de la zone de visualisation ('viewBox').

Le paramètre optionnel mode permet d'indiquer si le graphique doit s'adapter, et comment, à la taille du rectangle de visualisation. (cf. commande SVG_New).

Exemple

Nous souhaitons définir un graphique composé de deux ronds rouges et deux carrés bleus. L'idée est d'utiliser ce graphique en faisant varier sa position, son opacité et sa rotation dans une boucle de création de 36 occurrences.

   
   $SVG:=SVG_New 
      `Dessin du fond
   SVG_New_rect ($SVG;20;20;650;650;0;0;"gray";"lemonchiffon")
      `Définition d'un symbole composé de 2 carrés et 2 cercles
   $Symbol:=SVG_Define_symbol ($SVG;"MySymbol";0;0;110;110;"true")
   SVG_New_circle ($Symbol;30;30;25;"red";"palevioletred")
   SVG_New_rect ($Symbol;10;60;40;40;0;0;"blue";"cornflowerblue")
   SVG_New_rect ($Symbol;60;10;40;40;0;0;"blue";"cornflowerblue")
   SVG_New_circle ($Symbol;80;80;25;"red";"palevioletred")
      `Dans un groupe...
   $g:=SVG_New_group ($SVG)
      `...positionné à 20 unités du coin supérieur gauche du document...
   SVG_SET_TRANSFORM_TRANSLATE ($g;20;20)
      `...placer 36 motifs en faisant varier la position, l'opacité et la rotation
   Boucle ($x;0;540;90)  `6 colonnes
      Boucle ($y;0;540;90)   `6 lignes
         $use:=SVG_Use ($g;"MySymbol";$x;$y;110;110)
         SVG_SET_OPACITY ($use;100-($y/12)+($x/12)
         SVG_SET_TRANSFORM_ROTATE ($use;($x*(18/50))+($y*(18/50));($x+55);($y+55))
      Fin de boucle 
   Fin de boucle

Référence

SVG_Define_symbol.


4D - Documentation   Français   English   German   Composant 4D SVG, Commandes par thèmes   4D SVG, Index   Retour   Précédent   Suivant