CanvasRenderingContext2D: clearRect() Methode
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Die Methode CanvasRenderingContext2D.clearRect()
der Canvas 2D API löscht die Pixel in einem rechteckigen Bereich, indem sie auf transparentes Schwarz gesetzt werden.
Hinweis:
Beachten Sie, dass clearRect()
zu unbeabsichtigten Nebeneffekten führen kann, wenn Sie nicht Pfade richtig verwenden. Stellen Sie sicher, dass Sie beginPath()
aufrufen, bevor Sie nach dem Aufrufen von clearRect()
neue Elemente zeichnen.
Syntax
clearRect(x, y, width, height)
Die clearRect()
Methode setzt die Pixel in einem rechteckigen Bereich auf transparentes Schwarz (rgb(0 0 0 / 0%)
). Die obere linke Ecke des Rechtecks befindet sich bei (x, y)
, und seine Größe wird durch width
und height
angegeben.
Parameter
Rückgabewert
Keiner (undefined
).
Beispiele
Löschen des gesamten Canvas
Dieser Code-Schnipsel löscht das gesamte Canvas. Dies ist häufig am Anfang jedes Frames in einer Animation erforderlich. Die Dimensionen des gelöschten Bereichs sind gleich den width
und height
Attributen des <canvas>
Elements.
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
ctx.clearRect(0, 0, canvas.width, canvas.height);
Löschen eines Teils eines Canvas
Dieses Beispiel zeichnet ein blaues Dreieck auf einem gelblichen Hintergrund. Die clearRect()
Methode löscht dann einen Teil des Canvas.
HTML
<canvas id="canvas"></canvas>
JavaScript
Der gelöschte Bereich ist rechteckig mit der oberen linken Ecke bei (10, 10). Der gelöschte Bereich hat eine Breite von 120 und eine Höhe von 100.
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
// Draw yellow background
ctx.beginPath();
ctx.fillStyle = "#ff6";
ctx.fillRect(0, 0, canvas.width, canvas.height);
// Draw blue triangle
ctx.beginPath();
ctx.fillStyle = "blue";
ctx.moveTo(20, 20);
ctx.lineTo(180, 20);
ctx.lineTo(130, 130);
ctx.closePath();
ctx.fill();
// Clear part of the canvas
ctx.clearRect(10, 10, 120, 100);
Ergebnis
Spezifikationen
Specification |
---|
HTML Standard # dom-context-2d-clearrect-dev |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
- Das Interface, das diese Methode definiert:
CanvasRenderingContext2D
CanvasRenderingContext2D.fillRect()
CanvasRenderingContext2D.strokeRect()