<canvas id="canvas1" width="200" height="200" style="background-color:silver"></canvas> function rei1() { // canvasの設定 canvas = document.getElementById('canvas1'); ctx = canvas.getContext('2d'); ctx.clearRect(0, 0, 200, 200); // 切り取り領域(円)の設定 これを先に定義すること! ctx.arc(70,80,50, 0, Math.PI*2, true); ctx.clip(); // 切り取られる図形(赤い四角)の表示 ctx.fillStyle = "red"; ctx.fillRect(50,50,100,100); // 50+100=150 }
例1の背景に写真を表示
<canvas id="canvas2" width="200" height="200"></canvas> function rei2() { // canvasの設定 canvas = document.getElementById('canvas2'); ctx = canvas.getContext('2d'); ctx.clearRect(0, 0, 200, 200); // 背景の表示 var image = new Image(); image.src = "image/200x200.jpg"; image.onload = function() { // 「画像が読み込まれたら」次の処理を行う // 全ての処理をこのfunction内に記述すること! // 背景画像の表示 切り抜きの前に表示! ctx.drawImage(image, 0,0, 200,200); // 切り取り領域(円)の設定 ctx.arc(70,80,50, 0, Math.PI*2, true); ctx.clip(); // 切り取られる図形(赤い四角)の表示 ctx.fillStyle = "red"; ctx.fillRect(50,50,100,100); } }