canvas的translate、rotate、save
时间: 2023-07-03 08:09:16 浏览: 84
手把手地教你怎么用canvas的rotate做出类似太阳系的嵌套运动
canvas是HTML5中提供的一个2D绘图API,它提供了许多功能来帮助我们实现各种绘图需求。其中,`translate`、`rotate`、`save`是canvas中常用的三个方法。
1. `translate`方法:
`translate`方法可以将画布上的原点(0,0)移动到指定的位置,它的语法如下:
```
context.translate(x,y);
```
其中,`x`和`y`参数分别表示在水平和垂直方向上要移动的像素数。例如,`context.translate(50,50)`表示将原点向右移动50个像素,向下移动50个像素。
2. `rotate`方法:
`rotate`方法可以将画布旋转指定的角度,它的语法如下:
```
context.rotate(angle);
```
其中,`angle`参数表示旋转的角度,单位为弧度。例如,`context.rotate(Math.PI/2)`表示将画布逆时针旋转90度。
3. `save`方法:
`save`方法可以将当前画布的状态保存到一个栈中。我们可以使用`restore`方法来恢复这个状态,它的语法如下:
```
context.save();
```
例如,我们可以使用`save`方法保存当前画布的状态,然后对画布进行一些变换操作,最后再使用`restore`方法恢复到之前保存的状态,以便继续进行其他操作。
这三个方法常被组合使用,例如,我们可以先使用`save`方法保存画布状态,然后使用`translate`和`rotate`方法对画布进行平移和旋转操作,最后再使用`restore`方法恢复之前的状态。
阅读全文