Méthode Canvas transform()

Définition et utilisation

Chaque objet sur le canevas possède une matrice de transformation actuelle.

transform() Méthode qui remplace la matrice de transformation actuelle. Elle opère sur la matrice de transformation actuelle avec le matrice suivant décrit :

a  c  e
b  d  f
0  0  1

Autrement dit, transform() vous permet de zoomer, de tourner, de déplacer et d'incliner l'environnement actuel.

Remarque :Cette transformation ne sera affectée que par le dessin après l'appel de transform().

Remarque :Le comportement de la méthode transform() par rapport à rotate(),scale(),translate() ou d'autres transformations effectuées par transform(). Par exemple : si vous avez déjà mis le dessin à deux fois, la méthode transform() doublera à nouveau le dessin, et votre dessin finira par être doublé quatre fois.

Astuce :Voir aussi setTransform() Méthode qui ne se comporte pas par rapport aux autres transformations.

Exemple

Tracez un rectangle ; ajoutez une nouvelle matrice de transformation avec transform() et tracez à nouveau le rectangle ; ajoutez une nouvelle matrice de transformation et tracez à nouveau le rectangle. Notez que chaque fois que vous appelez transform(), il construit sur la matrice de transformation précédente :

Votre navigateur ne prend pas en charge la balise HTML5 canvas.

JavaScript:

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.fillStyle="yellow";
ctx.fillRect(0,0,250,100)
ctx.transform(1,0.5,-0.5,1,30,10);
ctx.fillStyle="red";
ctx.fillRect(0,0,250,100);
ctx.transform(1,0.5,-0.5,1,30,10);
ctx.fillStyle="blue";
ctx.fillRect(0,0,250,100);

Essayez-le vous-même

Syntaxe

context.transform(a,b,c,d,e,f);

Valeur du paramètre

Paramètres Description
a Dessin de zoom horizontal.
b Dessin de décalage horizontal.
c Dessin de décalage vertical.
d Dessin de zoom vertical.
e Dessin de déplacement horizontal.
f Dessin de déplacement vertical.

Support du navigateur

Les nombres dans le tableau indiquent la version du navigateur qui prend en charge cette propriété pour la première fois.

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera
4.0 9.0 3.6 4.0 10.1

Remarque :Les versions 8 et antérieures d'Internet Explorer ne prennent pas en charge l'élément <canvas>.