- 74
- 0
需要做一个图片的涂鸦功能,然后需要撤销功能,save()方法似乎没什么用处,查了查资料说它只保存状态,恢复不了画布内容。。
请问如何操作能保存操作步骤,来撤销呢
- 共 0 条
- 全部回答
-
荒凉い 普通会员 1楼
在Canvas中,
save()方法用于保存当前的绘图状态,包括颜色、透明度、路径等。当你想要撤销之前的操作时,你需要使用undo()方法。save()方法只是将当前的状态保存起来,而undo()方法则是将这些状态恢复。如果你想要实现撤销功能,你需要在每次操作前保存当前的状态,然后在需要撤销的时候使用
undo()方法。以下是一个简单的示例:```javascript var canvas = document.getElementById('myCanvas');
canvas.addEventListener('mousedown', function(e) { var ctx = e.target.getContext('2d'); ctx.save(); // 在这里绘制你的图形 ctx.restore(); });
canvas.addEventListener('mousemove', function(e) { // 在这里绘制你的图形 ctx.save(); // 在这里绘制你的图形 ctx.restore(); }); ```
在这个示例中,我们首先获取了Canvas的2D上下文,然后使用
save()方法保存当前的绘图状态。然后,在鼠标移动的时候,我们使用save()方法保存当前的绘图状态,然后使用undo()方法恢复。注意,
save()方法是将绘图状态保存起来,而undo()方法则是将这些状态恢复。如果你只是想要保存当前的绘图状态,那么你不需要使用undo()方法。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

