Canvas transform() 方法
示例
绘制一个矩形,使用 transform() 添加新的变换矩阵,再次绘制矩形,添加新的变换矩阵,然后再次绘制矩形。注意,每次调用 transform() 时,都会在之前的变换矩阵的基础上进行操作。
JavaScript
const canvas = document.getElementById("myCanvas");
const ctx = canvas.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);
自己动手试试 »
描述
The transform()
方法对上下文进行缩放、旋转、移动和倾斜。
canvas 上的每个对象都有一个变换矩阵。
The transform()
方法会替换变换矩阵,并将其与以下矩阵相乘
a | c | e |
b | d | f |
0 | 0 | 1 |
注意
变换会影响在调用 transform() 后进行的绘制。
变换是相对于其他 rotate()、scale()、translate() 或 transform() 变换而言的。如果缩放两倍,而 transform() 缩放两倍,则绘制将缩放四倍。
参见
The scale() 方法(缩放上下文)
The rotate() 方法(旋转上下文)
The translate() 方法(重新映射 0,0 位置)
The setTransform() 方法(缩放、旋转、移动、倾斜上下文)。
语法
context.transform(a, b, c, d, e, f) |
参数值
参数 | 描述 | 播放 |
---|---|---|
a | 水平缩放绘制 | 播放 » |
b | 水平倾斜绘制 | 播放 » |
c | 垂直倾斜绘制 | 播放 » |
d | 垂直缩放绘制 | 播放 » |
e | 水平移动绘制 | 播放 » |
f | 垂直移动绘制 | 播放 » |
返回值
无 |
浏览器支持
The <canvas>
元素是 HTML5 标准(2014 年)。
transform()
在所有现代浏览器中都受支持
Chrome | Edge | Firefox | Safari | Opera | IE |
是 | 是 | 是 | 是 | 是 | 9-11 |
❮ Canvas 参考