MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

CanvasRenderingContext2D.clearRect()

CanvasRenderingContext2D.clearRect() は、座標(x, y)を始点とする大きさ(width, height)の領域を、透明色(透明な黒)で塗りつぶします。
領域内に描画されていたすべてのコンテンツは消去されます。

文法

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

引数

x
矩形領域の始点のX座標を指定します。
y
矩形領域の始点のY座標を指定します。
width
矩形領域の幅を指定します。
height
矩形領域の高さを指定します。

使用例

clearRect の使い方

clearRect メソッドを使用する単純な例です。

HTML

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

JavaScript

var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");

ctx.beginPath();
ctx.moveTo(20,20);
ctx.lineTo(200,20);
ctx.lineTo(120,120);
ctx.closePath(); // パスが閉じるので、三角形の最後の辺も描画される。
ctx.stroke();

ctx.clearRect(10, 10, 100, 100);

// キャンバス全体を消去するには、以下のようにします。
// ctx.clearRect(0, 0, canvas.width, canvas.height);

以下のコードを編集して、変更がどのように適用されるか試してみてください。

Playable code
<canvas id="canvas" width="400" height="200" class="playable-canvas"></canvas>
<div class="playable-buttons">
  <input id="edit" type="button" value="Edit" />
  <input id="reset" type="button" value="Reset" />
</div>
<textarea id="code" class="playable-code" style="height:140px;">
ctx.beginPath();
ctx.moveTo(20,20);
ctx.lineTo(200,20);
ctx.lineTo(120,120);
ctx.closePath(); // draws last line of the triangle
ctx.stroke();

ctx.clearRect(10, 10, 100, 100);</textarea>
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var textarea = document.getElementById("code");
var reset = document.getElementById("reset");
var edit = document.getElementById("edit");
var code = textarea.value;

function drawCanvas() {
  ctx.clearRect(0, 0, canvas.width, canvas.height);
  eval(textarea.value);
}

reset.addEventListener("click", function() {
  textarea.value = code;
  drawCanvas();
});

edit.addEventListener("click", function() {
  textarea.focus();
})

textarea.addEventListener("input", drawCanvas);
window.addEventListener("load", drawCanvas);

仕様

Specification Status Comment
WHATWG HTML Living Standard
The definition of 'CanvasRenderingContext2D.clearRect' in that specification.
Living Standard  

ブラウザ間の互換性

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (有) (有) (有) (有) (有)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (有) (有) (有) (有) (有) (有)

関連項目

ドキュメントのタグと貢献者

 このページの貢献者: hikalium
 最終更新者: hikalium,