HTML5 画布 – 保存和恢复状态
HTML5 画布提供了两个重要方法来保存和恢复画布状态。画布绘图状态基本上是应用的所有样式和变换的快照,包括以下内容 −
- 如 translate、rotate 和 scale 等变换。
-
当前的裁剪区域。
-
以下属性的当前值 − strokeStyle、fillStyle、globalAlpha、lineWidth、lineCap、lineJoin、miterLimit、shadowOffsetX、shadowOffsetY、shadowBlur、shadowColor、globalCompositeOperation、font、textAlign 和 textBaseline。
每次调用 save 方法时,画布状态都会被存储在堆栈上,并且每次调用 restore 方法时,都会从堆栈返回最后一个保存的状态。
序号 | 方法和描述 |
---|---|
1 | save() 此方法将当前状态推送到堆栈上。 |
2 | restore() 此方法弹出堆栈上的顶部状态,将上下文恢复到该状态。 |
例子
以下是一个简单的示例,利用上述方法来展示如何调用 restore 来恢复原始状态,并再次以黑色绘制最后一个矩形。
上述示例将生成以下结果 −