账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    canvas如何保存状态做撤销功能,save()方法似乎没什么用处
    74
    0

    需要做一个图片的涂鸦功能,然后需要撤销功能,save()方法似乎没什么用处,查了查资料说它只保存状态,恢复不了画布内容。。
    请问如何操作能保存操作步骤,来撤销呢

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 共 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()方法。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部