Phương pháp setTransform() trên canvas HTML

Định nghĩa và cách sử dụng

Mỗi đối tượng trên canvas đều có một ma trận变换 hiện tại.

setTransform() phương pháp đặt lại ma trận变换 hiện tại thành ma trận đơn vị, sau đó chạy với cùng các tham số. transform().

Nói cách khác, setTransform() cho phép bạn phóng to, quay, di chuyển và nghiêng môi trường hiện tại.

Chú ý:变换只会影响 setTransform() 方法调用之后的绘图。

Mô hình

Vẽ một hình vuông, thông qua setTransform() để đặt lại và tạo ma trận变换 mới, vẽ hình vuông lần nữa, đặt lại và tạo ma trận变换 mới, sau đó vẽ hình vuông tiếp theo. Lưu ý, mỗi khi bạn gọi setTransform(), nó sẽ đặt lại ma trận变换 trước đó và xây dựng ma trận mới, vì vậy trong ví dụ dưới đây, hình vuông đỏ sẽ không hiển thị vì nó nằm dưới hình vuông xanh:

Trình duyệt của bạn không hỗ trợ thẻ canvas HTML5.

JavaScript:

var c=document.getElementById("myCanvas");
var 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);

Thử ngay

Cú pháp

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

Giá trị parameter

Parameter Mô tả
a Vẽ quay theo chiều ngang.
b Vẽ nghiêng theo chiều ngang.
c Vẽ nghiêng theo chiều thẳng đứng.
d Vẽ thu nhỏ theo chiều thẳng đứng.
e Vẽ di chuyển ngang.
f Vẽ di chuyển thẳng đứng.

Hỗ trợ trình duyệt

Số trong bảng cho biết phiên bản trình duyệt đầu tiên hỗ trợ thuộc tính này hoàn toàn.

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

Chú ý:Internet Explorer 8 và các phiên bản trước không hỗ trợ phần tử <canvas>.