Javascript 如何清除画布?

Javascript 如何清除画布?,javascript,html,canvas,Javascript,Html,Canvas,嗨,我正在使用画布做一个绘图应用程序,但我不知道如何清除画布。 我尝试过clearRect和其他函数,但它们不起作用。 脚本的最后两个函数应该清除画布,但它们不工作。。。 (对不起,我的英语不好) 代码如下: function clear_canvas_width () { var s = document.getElementById ("scribbler"); var w = s.width; s.wi

嗨,我正在使用画布做一个绘图应用程序,但我不知道如何清除画布。 我尝试过clearRect和其他函数,但它们不起作用。 脚本的最后两个函数应该清除画布,但它们不工作。。。 (对不起,我的英语不好) 代码如下:

  function clear_canvas_width ()
      {
            var s = document.getElementById ("scribbler");
            var w = s.width;
            s.width = 10;
            s.width = w;
        }

        function clear_canvas_rectangle ()
        {
               var canvas = $('#canvas')[0]; // or document.getElementById('canvas');
               canvas.width = canvas.width;
         }

需要更多的代码才能真正了解问题所在。这里有一个非常简单的方法,你可以用它来缩小范围。出于性能原因,最好使用
clearRect
而不是重置画布的宽度

var clearBut = document.getElementById("clearCan"),
    canvas = document.getElementById("canvas"),
    ctx = canvas.getContext("2d");


canvas.width = canvas.height = 300;
ctx.fillRect(10,10,280,280);


function clearCanvas(){
    ctx.clearRect(0,0,canvas.width, canvas.height);        
}

clearBut.addEventListener("click", clearCanvas);

需要更多的代码才能真正了解问题所在。这里有一个非常简单的方法,你可以用它来缩小范围。出于性能原因,最好使用
clearRect
而不是重置画布的宽度

var clearBut = document.getElementById("clearCan"),
    canvas = document.getElementById("canvas"),
    ctx = canvas.getContext("2d");


canvas.width = canvas.height = 300;
ctx.fillRect(10,10,280,280);


function clearCanvas(){
    ctx.clearRect(0,0,canvas.width, canvas.height);        
}

clearBut.addEventListener("click", clearCanvas);

您是否已检查是否正在清除正确的画布?也许如果你提供更多的代码,我们可以进一步帮助你

也要确保在清理后不要在上面画

然而,在清理画布时,这是我所知道的最简单的方法

function clear_canvas( canvas ){
    canvas.width = canvas.width;
}
但你也可以使用

function clear_canvas (ctx, canvas){
    ctx.clearRect(0, 0, canvas.width, canvas.height); 
}

您是否已检查是否正在清除正确的画布?也许如果你提供更多的代码,我们可以进一步帮助你

也要确保在清理后不要在上面画

然而,在清理画布时,这是我所知道的最简单的方法

function clear_canvas( canvas ){
    canvas.width = canvas.width;
}
但你也可以使用

function clear_canvas (ctx, canvas){
    ctx.clearRect(0, 0, canvas.width, canvas.height); 
}
来自

来自

可能的重复可能的重复