canvasの内容をクリアするには、.clearRect()を使用します。
構文
- (clearRect構文)
- context.clearRect(w, y, w, h)
x | クリア開始位置のX座標 |
---|---|
y | クリア開始位置のY座標 |
w | クリアする横幅 |
h | クリアする縦幅 |
サンプルソース
例)ボタンを押すとcanvasをクリアする
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>サンプル</title> <script> var cvs = null; var ctx = null; window.onload= function(){ //2Dコンテキストのオブジェクトを生成する cvs = document.getElementById('cvs1'); ctx = cvs.getContext('2d'); //画像オブジェクトを生成 var img = new Image(); img.src = "inu.png"; //画像をcanvasに設定 img.onload = function(){ ctx.drawImage(img, 0, 0, 200, 200); } } function cls(){ //キャンバスの(0,0)~(200,200)の範囲をクリアする ctx.clearRect(0, 0, 200, 200); } </script> </head> <body> <canvas id="cvs1" width="200" height="200"></canvas> <input type="button" id="btn1" value="消す" onclick="cls();"> </body> </html> |
実行サンプル
ボタンを押すと、canvas領域に描画された画像をクリアします。
以下、枠内がcanvas領域です。
解説
- クリアする範囲は明示的に指定する必要があります。
(canvas内を全てクリアするという指定はありません。)