Phương thức transform() 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.
transform()
Phương thức thay thế ma trận变换 hiện tại. Nó hoạt động trên ma trận变换 hiện tại với ma trận sau:
a c e b d f 0 0 1
Ng换句话说, phương thức transform() cho phép bạn phóng to, quay, di chuyển và nghiêng môi trường hiện tại.
Chú ý:Phương thức变换 này chỉ ảnh hưởng đến vẽ sau khi gọi phương thức transform().
Chú ý:Hành vi của phương thức transform() so với ma trận变换 được rotate()công thứcscale()công thứctranslate() hoặc các变换 khác hoàn thành bằng phương thức transform(). Ví dụ: Nếu bạn đã đặt vẽ lên hai lần, phương thức transform() sẽ làm cho vẽ được phóng to hai lần, vẽ cuối cùng của bạn sẽ được phóng to bốn lần.
Lưu ý:Xin xem setTransform() Phương thức, nó sẽ không thay đổi hành vi so với các变换 khác.
Mô hình
Vẽ một hình vuông; thêm một ma trận变换 mới bằng phương thức transform() và vẽ hình vuông lại; thêm một ma trận变换 mới và vẽ hình vuông lại. Lưu ý rằng mỗi khi bạn gọi phương thức transform(), nó sẽ xây dựng trên ma trận变换 trước:
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);
Cú pháp
context.transform(a,b,c,d,e,f);
Giá trị tham số
参數 | Mô tả |
---|---|
a | Vẽ thu phóng ngang. |
b | Vẽ nghiêng ngang. |
c | Vẽ nghiêng thẳng đứng. |
d | Vẽ thu phóng 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 chỉ ra 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ú ý:Trình duyệt Internet Explorer 8 và các phiên bản trước không hỗ trợ phần tử <canvas>.