Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Les transformations SVG changent l’affichage des éléments graphiques sans réécrire leur géométrie. Utilisez transform pour déplacer, redimensionner, faire pivoter ou incliner des formes avec translate(), scale(), rotate(), skewX() et skewY(). Pour la forme matricielle, consultez
Matrice de transformation.
Dans cet article, vous apprendrez à :
translate().scale().skewX() et skewY().transform à cet élément ou à un groupe <g> parent.translate(tx, ty) pour déplacer.scale(sx, sy), rotate(angle cx cy), skewX(angle) ou skewY(angle) pour modifier la géométrie visible.matrix(a,b,c,d,e,f) lorsque des valeurs calculées sont plus adaptées.translate()translate(tx, ty) déplace chaque point d’un élément de tx sur l’axe x et ty sur l’axe y. Si ty est omis, il vaut 0.
x(new) = x(old) + txy(new) = y(old) + ty
1<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
2 <g fill="none">
3 <circle cx="15" cy="15" r="10" stroke="blue" />
4 <circle cx="15" cy="15" r="10" stroke="black" transform="translate(22)" />
5 <circle cx="15" cy="15" r="10" stroke="red" transform="translate(44)" />
6 <circle cx="15" cy="15" r="10" stroke="green" transform="translate(33,13)" />
7 <circle cx="15" cy="15" r="10" stroke="yellow" transform="translate(11,13)" />
8 </g>
9</svg>
scale()scale(sx, sy) multiplie la largeur par sx et la hauteur par sy. Si sy est omis, SVG utilise sx pour les deux axes.

scale(1,4) étire verticalement; scale(4,1) étire horizontalement. La mise à l’échelle se fait par rapport à l’origine du système de coordonnées.
rotate()rotate(angle, cx, cy) fait pivoter un élément de angle degrés autour de (cx, cy). Sans centre, la rotation se fait autour de (0,0).
Note : rotate(angle cx) est invalide. Si vous fournissez un centre, indiquez cx et cy.

skewX() et skewY()skewX(angle) incline selon l’axe x; skewY(angle) incline selon l’axe y. Les angles sont exprimés en degrés. Avec skewX(), les coordonnées x changent et y reste inchangé; avec skewY(), c’est l’inverse.

| Problème | Cause | Correction |
|---|---|---|
| L’élément ne bouge pas | transform mal écrit ou sans guillemets | Vérifiez transform="translate(150,50)" |
| Direction de rotation inattendue | Signe de l’angle mal interprété | Positif = horaire, négatif = antihoraire |
| Rotation autour du mauvais point | cx / cy omis | Donnez un centre explicite |
| Inclinaison excessive | Angle fourni en radians | Utilisez des degrés |
| Élément disparu après scale | Facteur 0 ou négatif | Utilisez des valeurs positives non nulles |
| Combinaison incorrecte | Ordre inversé | Les transformations sont appliquées de droite à gauche |
Il applique une transformation géométrique à un élément ou groupe. Il change l’affichage sans modifier x, y, cx, cy ou d.
translate(tx, ty) déplace sans changer la taille. scale(sx, sy) change la taille et peut déplacer visuellement l’objet car l’origine sert de référence.
Utilisez rotate(angle cx cy), par exemple transform="rotate(45 100 100)".
Utilisez les fonctions séparées pour la lisibilité. Utilisez matrix() pour des valeurs calculées, exportées ou combinées.
transform et ses fonctions.Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.