How to Clear an HTML Canvas
Let's look at this quick tip to clear an HTML canvas partially or completely for redrawing.
Join the DZone community and get the full member experience.
Join For FreeWhen we've created a canvas, sometimes we'll want to clear it completely before redrawing something else. Let's look at how to do that.
How to Clear HTML Canvas for Redrawing
Let's say we have a canvas, and we've already written code like this:
let myCanvas = document.getElementById('myCanvas');
let ctx = myCanvas.getContext('2d');
If we want to clear the entire canvas and leave it blank, we use clearRect()
. clearRect has the 4 arguments - x
, y
, width
and height
.
If we want to clear a canvas entirely, starting at (0, 0)
, our code looks like this:
let myCanvas = document.getElementById('myCanvas');
let ctx = myCanvas.getContext('2d');
ctx.clearRect(0, 0, myCanvas.width, myCanvas.height);
Although we can clear different areas if we want. The below code clears a canvas starting at the xy
coordinates (150, 150), and only clearing 100px by 150px (width by height) of content:
let myCanvas = document.getElementById('myCanvas');
let ctx = myCanvas.getContext('2d');
ctx.clearRect(150, 150, 100, 150);
Clearing an HTML Canvas With a Custom Color
To clear a canvas with a custom color, you can instead use the normal rect()
function, with a custom color. That looks like this:
let myCanvas = document.getElementById('myCanvas');
let ctx = myCanvas.getContext('2d');
ctx.rect(0, 0, myCanvas.width, myCanvas.height);
// Fill our rectangle
ctx.fillStyle = 'red';
ctx.fill();
The above code will clear our canvas and fill it with red instead.
Published at DZone with permission of Johnny Simpson, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Comments