CanvasRenderingContext2D
.transform()
是 Canvas 2D API 使用矩阵多次叠加当前变换的方法,矩阵由方法的参数进行描述。你可以缩放、旋转、移动和倾斜上下文。
参见 setTransform()
方法,这个方法使用单位矩阵重新设置当前的变换并且会调用 transform()。
语法
void ctx.transform(a, b, c, d, e, f);
变换矩阵的描述:
参数
a (m11)
- 水平缩放。
b (m12)
- 水平倾斜。
c (m21)
- 垂直倾斜。
d (m22)
- 垂直缩放。
e (dx)
- 水平移动。
f (dy)
- 垂直移动。
示例
使用 transform
方法
这是一段使用 transform
方法的简单的代码片段。
HTML
<canvas id="canvas"></canvas>
JavaScript
var canvas = document.getElementById("canvas"); var ctx = canvas.getContext("2d"); ctx.transform(1,1,0,1,0,0); ctx.fillRect(0,0,100,100);
修改下面的代码并在线查看 canvas 的变化:
规范描述
Specification | Status | Comment |
---|---|---|
WHATWG HTML Living Standard CanvasRenderingContext2D.transform |
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) |