CanvasRenderingContext2D: Methode clearRect()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 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()
unbeabsichtigte Nebeneffekte verursachen kann, wenn Sie nicht Pfade richtig verwenden. Stellen Sie sicher, dass Sie beginPath()
aufrufen, bevor Sie nach einem clearRect()
-Aufruf neue Elemente zeichnen.
Syntax
clearRect(x, y, width, height)
Die Methode clearRect()
setzt die Pixel in einem rechteckigen Bereich auf transparent. 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
Dieses Codebeispiel löscht das gesamte Canvas. Dies ist normalerweise zu Beginn jedes Frames in einer Animation erforderlich. Die Dimensionen des gelöschten Bereichs sind so eingestellt, dass sie den width
- und height
-Attributen des <canvas>
-Elements entsprechen.
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 einen gelblichen Hintergrund. Die Methode clearRect()
löscht dann einen Teil des Canvas.
HTML
<canvas id="canvas"></canvas>
JavaScript
Der gelöschte Bereich ist rechteckig und hat seine obere linke 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 = "#ffff66";
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> # dom-context-2d-clearrect-dev> |
Browser-Kompatibilität
Loading…
Siehe auch
- Das Interface, das diese Methode definiert:
CanvasRenderingContext2D
CanvasRenderingContext2D.fillRect()
CanvasRenderingContext2D.strokeRect()