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>
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190626182048601.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2OTQ5ODky,size_16,color_FFFFFF,t_70)
可以看到我将颜色的样式以及基点都设置进去了
当我再在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>
![在这里插入图片描述](https://img-blog.csdnimg.cn/2019062618223055.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2OTQ5ODky,size_16,color_FFFFFF,t_70)
这里就发现了我在save方法外面设置的属性对save中的没有任何影响,并且save中的基点的设置也对save方法外设置的盒子没有任何影响。
总结:save方法相当于将我设置的内容隔离出来,不会对外面的任何内容造成影响。