Méthode transform() du canvas HTML

Définition et utilisation

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

transform() Méthode 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缩放、旋转、移动 et incliner l'environnement actuel.

Remarque :Cette transformation n'affectera que le dessin après l'appel à transform().

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

Astuce :Voir setTransform() Méthode, qui ne se comporte pas par rapport à d'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 appellez transform(), il construit sur la matrice de transformation précédente :

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

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 d'inclinaison horizontal.
c Dessin d'inclinaison vertical.
d Dessin de zoom vertical.
e Dessin de déplacement horizontal.
f Dessin de déplacement vertical.

Prise en charge du navigateur

Les numéros 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 :Internet Explorer 8 et les versions antérieures ne prennent pas en charge l'élément <canvas>.