【问题标题】:cleared sketch still on canvas in html5清除草图仍然在 html5 的画布上
【发布时间】:2012-11-01 10:06:01
【问题描述】:

我只是对画布清除的东西感到困惑-草图已从画布中清除,但是当我单击画布绘制新内容时,清除的草图又回到了相同的位置。看起来草图已保存到一些“cookies”中,当下次单击画布或将鼠标悬停在画布上时,它们已重新加载。

clear.click(function()){
var canvas = document,getElementById('mycanvas');
var context = canvas.getContext('2d');
context.clearRect(0,0,width,height);
});

我使用sketch.js 进行绘图:http://intridea.github.com/sketch.js/ 实际上,sketch.js 中的代码也确实清理了画布:canvas.width = canvas.width。关于如何彻底清除它的任何想法?谢谢!

【问题讨论】:

  • 你在哪里定义widthheight
  • 如何在画布上作画?显示更多代码!
  • @Shmiddty 我使用 canvas.width 和 canvas.height。
  • @Jonas 我使用sketch.js 进行绘图:intridea.github.com/sketch.js

标签: javascript html canvas drawing


【解决方案1】:

请尝试以下问题的第二种解决方案。它说在清除画布之前重置转换矩阵。

// Use the identity matrix while clearing the canvas
ctx.setTransform(1, 0, 0, 1, 0, 0);
ctx.clearRect(0, 0, canvas.width, canvas.height);

How to clear the canvas for redrawing

请参阅以下有关重置转换矩阵的教程。

HTML5 Canvas Reset Transform Tutorial

【讨论】:

  • 感谢@ndbomiriya。我找到了问题,是其他地方的错误。
【解决方案2】:

代码的另一部分给出了问题,我已经修复了它。看起来以前的草图已保存在数组中,每次我将当前草图添加到数组中,并在那里绘制所有内容。谢谢!抱歉打扰了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-22
    • 1970-01-01
    • 2011-12-29
    • 2014-06-23
    • 1970-01-01
    • 2015-06-24
    • 1970-01-01
    相关资源
    最近更新 更多