CanvasRenderingContext2D.setTransform() 是 Canvas 2D API 使用单位矩阵重新设置(覆盖)当前的变换并调用变换的方法,此变换由方法的变量进行描述。
参见 transform() 方法,这个方法不会覆盖当前的变换矩阵,会多次叠加变换。
语法
void ctx.setTransform(a, b, c, d, e, f);
变换矩阵的描述:
参数
a (m11)- 水平缩放。
b (m12)- 水平倾斜。
c (m21)- 垂直倾斜。
d (m22)- 垂直缩放。
e (dx)- 水平移动。
f (dy)- 垂直移动。
示例
使用 setTransform 方法
这是一段使用 setTransform 方法的简单的代码片段。
HTML
<canvas id="canvas"></canvas>
JavaScript
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
ctx.setTransform(1,1,0,1,0,0);
ctx.fillRect(0,0,100,100);
修改下面的代码并在线查看 canvas 的变化:
规范描述
| Specification | Status | Comment |
|---|---|---|
| WHATWG HTML Living Standard CanvasRenderingContext2D.setTransform |
Living Standard |
浏览器兼容性
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
| Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |