Tutorials Exercises Get Certified Services Menu
Log in
Sign Up Spaces Bootcamps

HTML canvas setTransform() Method

❮ HTML Canvas Reference


Draw a rectangle, reset and create a new transformation matrix with setTransform(), draw the rectangle again, reset and create a new transformation matrix, then draw the rectangle again. Notice that each time you call setTransform(), it resets the previous transformation matrix and then builds the new matrix, so in the example below, the red rectangle is not shown, because it is under the blue rectangle:



let c = document.getElementById("myCanvas");
let ctx = c.getContext("2d");

ctx.fillStyle = "yellow";
ctx.fillRect(0, 0, 250, 100)

ctx.setTransform(1, 0.5, -0.5, 1, 30, 10);
ctx.fillStyle = "red";
ctx.fillRect(0, 0, 250, 100);

ctx.setTransform(1, 0.5, -0.5, 1, 30, 10);
ctx.fillStyle = "blue";
ctx.fillRect(0, 0, 250, 100);
Try it Yourself »

Browser Support

The numbers in the table specify the first browser version that fully supports the method.

setTransform() Yes 9.0 Yes Yes Yes

Definition and Usage

Each object on the canvas has a current transformation matrix.

The setTransform() method resets the current transform to the identity matrix, and then runs transform() with the same arguments.

In other words, the setTransform() method lets you scale, rotate, move, and skew the current context.

Note: The transformation will only affect drawings made after the setTransform method is called.

JavaScript syntax: context.setTransform(a,b,c,d,e,f);

Parameter Values

Parameter Description Play it
a Horizontal scaling Play it »
b Horizontal skewing Play it »
c Vertical skewing Play it »
d Vertical scaling Play it »
e Horizontal moving Play it »
f Vertical moving Play it »

❮ HTML Canvas Reference