Canvas 状态的保存和恢复

保存: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 方法,上一个保存的状态就从堆中弹出,所有设定都恢复。

原文地址:https://www.cnblogs.com/naokr/p/2362033.html