canvas的save和restore
时间: 2023-12-09 20:34:31 浏览: 87
android中canvas的save和restore用法
canvas的save和restore是用来保存和恢复Canvas状态的方法。在Canvas中,状态包括当前的绘图样式、变换矩阵、剪切区域等。通过save方法,可以将当前的状态保存到一个栈中,然后可以对Canvas进行平移、放缩、旋转、错切、裁剪等操作。在操作完成后,可以通过restore方法将之前保存的状态从栈中取出,恢复Canvas之前的状态,防止之前的操作对后续的绘制产生影响。
以下是一个canvas的save和restore的例子:
```html
<!DOCTYPE html>
<html>
<body>
<canvas id="myCanvas" width="200" height="100" style="border:1px solid #d3d3d3;">
Your browser does not support the HTML5 canvas tag.</canvas>
<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
// 保存当前状态
ctx.save();
// 设置绘图样式
ctx.fillStyle = "#FF0000";
ctx.fillRect(0,0,150,75);
// 平移Canvas
ctx.translate(50,50);
// 设置新的绘图样式
ctx.fillStyle = "#00FF00";
ctx.fillRect(0,0,150,75);
// 恢复之前保存的状态
ctx.restore();
// 绘制文本
ctx.font = "30px Arial";
ctx.fillText("Hello World",10,50);
</script>
</body>
</html>
```
阅读全文