CanvasRenderingContext2D .clearRect() method of the Canvas 2D API erases the pixels in a rectangular area by setting them to transparent black.

注意: 要意识到, clearRect() may cause unintended side effects if you're not using paths properly . Make sure to call beginPath() before starting to draw new items after calling clearRect() .

句法

void ctx.clearRect(x, y, width, height);
					

clearRect() method sets the pixels in a rectangular area to transparent black ( rgba(0,0,0,0) ). The rectangle's corner is at (x, y) , and its size is specified by width and height .

参数

x

The x-axis coordinate of the rectangle's starting point.

y

The y-axis coordinate of the rectangle's starting point.

width

The rectangle's width. Positive values are to the right, and negative to the left.

height

The rectangle's height. Positive values are down, and negative are up.

范例

Erasing the whole canvas

This code snippet erases the entire canvas. This is commonly required at the start of each frame in an animation. The dimensions of the cleared area are set to equal the <canvas> 元素的 width and height 属性。

const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');
ctx.clearRect(0, 0, canvas.width, canvas.height);
					

Erasing part of a canvas

This example draws a blue triangle on top of a yellowish background. The clearRect() method then erases part of the canvas.

HTML

<canvas id="canvas"></canvas>
					

JavaScript

The cleared area is rectangular in shape, with its top-left corner at (10, 10). The cleared area has a width of 120 and a height of 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);
					

结果

规范

规范 状态 注释
HTML 实时标准
The definition of 'CanvasRenderingContext2D.clearRect' in that specification.
实时标准

浏览器兼容性

The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request. 更新 GitHub 上的兼容性数据
桌面 移动
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
clearRect Chrome Yes Edge 12 Firefox 1.5 IE Yes Opera Yes Safari Yes WebView Android Yes Chrome Android Yes Firefox Android 4 Opera Android Yes Safari iOS Yes Samsung Internet Android Yes

图例

完整支持

完整支持

另请参阅

元数据

  • 最后修改: