Javascript Canvas:clearRect()不清除drawImage()
我尝试清除画布,在其他位置绘制图像: 画布被清除,除去所有绘制的图像。Javascript Canvas:clearRect()不清除drawImage(),javascript,canvas,Javascript,Canvas,我尝试清除画布,在其他位置绘制图像: 画布被清除,除去所有绘制的图像。 我是画布开发新手。但是我没有任何线索。onload是异步的,因此会在ClearRect之后触发。谢谢!但是如果不这样加载,图像就不会显示:Kaido说了所有你需要知道的,问题是什么?在图像加载和绘制之前,您无法清除图像。我理解代码中的问题,但无法解决它。我试图替换onload(),但在这种情况下,图像不会显示。即使我删除了clearRect()。您也必须预加载所有图像并等待回调: var canvas = document
我是画布开发新手。但是我没有任何线索。onload是异步的,因此会在ClearRect之后触发。谢谢!但是如果不这样加载,图像就不会显示:Kaido说了所有你需要知道的,问题是什么?在图像加载和绘制之前,您无法清除图像。我理解代码中的问题,但无法解决它。我试图替换onload(),但在这种情况下,图像不会显示。即使我删除了clearRect()。您也必须预加载所有图像并等待回调:
var canvas = document.createElement('canvas');
var ctx = canvas.getContext("2d");
function image(_img, _x, _y, _w, _h) {
var img = new Image(); // Create new img element
img.onload = function() {
ctx.drawImage(img, _x, _y, _w, _h);
}
img.src = _img; // Set source path
ctx.clearRect(0, 0, 32, 32);
}
var body = document.getElementsByTagName("body")[0];
body.appendChild(canvas);
image("http://via.placeholder.com/32x32", 0, 0, 32, 32);