保存:save()
恢复:restore()
save 和 restore 方法是用来保存和恢复 canvas 状态的,都没有参数。Canvas 的状态就是当前画面应用的所有样式和变形的一个快照。 Canvas 状态是以堆(stack)的方式保存的,每一次调用 save 方法,当前的状态就会被推入堆中保存起来。
这种状态包括:
1.当前应用的变形(即移动,旋转和缩放,见下)
2.strokeStyle, fillStyle, globalAlpha, lineWidth, lineCap, lineJoin, miterLimit, shadowOffsetX, shadowOffsetY, shadowBlur, shadowColor, globalCompositeOperation 的值.
3.当前的裁切路径(clipping path)。
我们可以调用任意多次 save 方法。 每一次调用 restore 方法,上一个保存的状态就从堆中弹出,所有设定都恢复。