javascript save()方法有什么用

青灯夜游
发布: 2021-06-28 17:55:21
原创
4562人浏览过
在javascript中,save()方法用于保存当前图像状态的一份拷贝,该方法把当前状态的一份拷贝压入到一个保存图像状态的栈中;语法格式“save()”。

javascript save()方法有什么用

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

save() 方法是HTML DOM CanvasRenderingContext2D 对象的一个方法。

save() 方法保存当前图像状态的一份拷贝。

语法

立即学习Java免费学习笔记(深入)”;

save()
登录后复制

描述

  • save() 方法把当前状态的一份拷贝压入到一个保存图像状态的栈中。这就允许您临时地改变图像状态,然后,通过调用 restore() 来恢复以前的值。

  • 一个画布的图形状态包含了 CanvasRenderingContext2D 对象的所有属性(除了只读的画布属性以外)。它还包含了一个变换矩阵,该矩阵是调用 rotate()、scale() 和 translate() 的结果。另外,它包含了剪切路径,该路径通过 clip() 方法指定。可是要注意,当前路径和当前位置并非图形状态的一部分,并且不会由这个方法保存。

说明:

  • 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');
	// 调用save方法
	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');
	// 调用save方法
	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方法相当于将我设置的内容隔离出来,不会对外面的任何内容造成影响。

【相关推荐:javascript学习教程

以上就是javascript save()方法有什么用的详细内容,更多请关注php中文网其它相关文章!

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号