当前位置: 首页 > 面试题库 >

clearRect函数不会清除画布

公冶昆杰
2023-03-14
问题内容

我在body onmousemove函数上使用此脚本:

function lineDraw() {
    // Get the context and the canvas:
    var canvas = document.getElementById("myCanvas");
    var context = canvas.getContext("2d");
    // Clear the last canvas
    context.clearRect(0, 0, canvas.width, canvas.height);
    // Draw the line:
    context.moveTo(0, 0);
    context.lineTo(event.clientX, event.clientY);
    context.stroke();
}

每次我移动鼠标并画一条新线时,都应该清除画布,但是它不能正常工作。我正在尝试不使用jQuery,鼠标侦听器或类似工具来解决它。


问题答案:

您应该使用“ beginPath() ”。这就对了。

function lineDraw() {   
    var canvas=document.getElementById("myCanvas");
    var context=canvas.getContext("2d");
    context.clearRect(0, 0, context.width,context.height);
    context.beginPath();//ADD THIS LINE!<<<<<<<<<<<<<
    context.moveTo(0,0);
    context.lineTo(event.clientX,event.clientY);
    context.stroke();
}


 类似资料:
  • 问题内容: 在尝试了复合操作并在画布上绘制图像之后,我现在尝试删除图像并进行合成。我该怎么做呢? 我需要清除画布才能重画其他图像;这可能会持续一段时间,所以我认为每次绘制一个新矩形都不是最有效的选择。 问题答案:

  • 我有一个名为Interval的setInterval,它运行一个倒计时计时器。我有一个开始按钮,第一次点击时播放,第二次暂停就好了。当我双击时,它会将计时器显示回零,但似乎并没有清除实际的计时器。将只播放在显示被0替换之前停止的地方。

  • 我正在尝试清除JavaFX中的简单画布。 启动功能 如果用户想要加载游戏,则loadSave布尔变量集为“true” 否则,它会加载新游戏 我真的很感激你的帮助。

  • 有几百几千个对象,全部清除重绘一次不影响性能吗?尤其是在mousemove里面,移动一个对象

  • 问题内容: 您好,我似乎无法使排除_id工作,这是代码 这是控制台日志上的输出 我哪里做错了? 问题答案: 我认为指定投影的正确方法是使用“字段”或“投影”属性,具体取决于驱动程序的版本。 在此处阅读文档。

  • 好吧,这是一个奇怪的,我甚至不认为是可能的。 所以,自从我使用Nexus5X以来,当我卸载应用程序时,SharedPreferences就不会被删除。 我通过Android Studio安装了这个应用程序并进行了测试。然后我卸载应用程序。然后我通过Android Studio重新发布了这个应用程序,所有的SharedPreferences值仍然存在。 知道是什么引起的吗?