Canvas setTransform() 方法
示例
绘制一个矩形。重置变换矩阵。再次绘制矩形。重置变换矩阵。再次绘制矩形。
每次调用 setTransform() 时,都会构建一个新的矩阵。在下面的示例中,红色矩形未显示,因为它在蓝色矩形下方。
JavaScript
const canvas = document.getElementById("myCanvas");
const ctx = canvas.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);
自己动手试一试 »
描述
setTransform() 方法用于缩放、旋转、移动和倾斜上下文。
画布上的每个对象都有一个变换矩阵。
setTransform() 方法会将变换矩阵重置为单位矩阵,然后使用相同的参数运行 transform()。
注意
该变换会影响在调用 setTransform() 之后进行的绘制。
另请参阅
scale() 方法(缩放上下文)
rotate() 方法(旋转上下文)
translate() 方法(重新映射 0,0 位置)
transform() 方法 (缩放、旋转、移动、倾斜上下文)
语法
| context.setTransform(a, b, c, d, e, f) |
参数值
| 参数 | 描述 | 试一试 |
|---|---|---|
| a | 水平缩放绘图 | 试一试 » |
| b | 水平倾斜绘图 | 试一试 » |
| c | 垂直倾斜绘图 | 试一试 » |
| d | 垂直缩放绘图 | 试一试 » |
| e | 水平移动绘图 | 试一试 » |
| f | 垂直移动绘图 | 试一试 » |
返回值
| 无 |
浏览器支持
<canvas> 元素是 HTML5 标准(2014)。
setTransform() 在所有现代浏览器中都受支持。
| Chrome | Edge | Firefox | Safari | Opera | IE |
| 是 | 是 | 是 | 是 | 是 | 9-11 |
❮ Canvas 参考