canvas中的save()方法
- save()和restore()方法要一起使用才会有效果。
- save()方法就是保存你在save()中设置的各种样式以及属性。
举个例子
首先我在save的方法中创建了一个盒子
<body>
<canvas id="" width="600" height="400"></canvas>;
</body>
<script type="text/javascript">
var pen = document.querySelector('canvas').getContext('2d');
pen.save();
pen.translate(300,300);
pen.fillStyle = 'red';
pen.fillRect(0,0,100,100);
pen.restore();
</script>

可以看到我将颜色的样式以及基点都设置进去了
当我再在restore后面添加一个盒子的时候
<body>
<canvas id="" width="600" height="400"></canvas>;
</body>
<script type="text/javascript">
var pen = document.querySelector('canvas').getContext('2d');
pen.save();
pen.translate(300,300);
pen.fillStyle = 'red';
pen.fillRect(0,0,100,100);
pen.restore();
pen.beginPath();
pen.fillStyle = 'black';
pen.fillRect(0,0,100,100);
pen.fill();
</script>

这里就发现了我在save方法外面设置的属性对save中的没有任何影响,并且save中的基点的设置也对save方法外设置的盒子没有任何影响。
总结:save方法相当于将我设置的内容隔离出来,不会对外面的任何内容造成影响。