Javascript 在画布上显示我在清除画布之前绘制的一条线

Javascript 在画布上显示我在清除画布之前绘制的一条线,javascript,html,html5-canvas,Javascript,Html,Html5 Canvas,我正在使用ctx.clearRect(0,0,canvas.width,canvas.height)清除画布,为了调试,我在2秒后重新绘制,第二次重新绘制所有内容而不是行。但它仍然在画布上显示我最后绘制的一条线。在创建一个全尺寸矩形来清除画布之前,我遇到了一些问题,因此我使用了这种更有效的方法,您可能会发现它很有用: function clearCanvas(){ var context = canvas.getContext("2d"); context.clearRect(0

我正在使用ctx.clearRect(0,0,canvas.width,canvas.height)清除画布,为了调试,我在2秒后重新绘制,第二次重新绘制所有内容而不是行。但它仍然在画布上显示我最后绘制的一条线。

在创建一个全尺寸矩形来清除画布之前,我遇到了一些问题,因此我使用了这种更有效的方法,您可能会发现它很有用:

function clearCanvas(){
    var context = canvas.getContext("2d");
    context.clearRect(0, 0, canvas.width, canvas.height); //default
    var w = canvas.width;
    canvas.width = 1;
    canvas.width = w; //Also change and re-apply canvas width
    return;
}

您能发布完整的代码吗?

作为一个长期目标,我想知道您是否错过了beginPath。请花些时间更好地解释您的目标/问题。