18Jan
[PR]
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
11Mar
Posted by No Name Ninja in Javascript Sample
Canvasで図形や画像をくり抜いて表示させることができます。
DEMOcanvas = document.getElementById('canvas'); ctx = canvas.getContext('2d'); // 背景を黒で塗りつぶす ctx.beginPath(); ctx.rect(0, 0, 400, 400); ctx.fillStyle = "rgb(0,0,0)"; ctx.fill(); ctx.closePath(); // 円形のクリッピングパスを生成 ctx.beginPath(); ctx.arc(200, 200, 150, 0, Math.PI * 2, false); ctx.clip(); var img = new Image(); img.src = "./test.jpg"; img.onload = function() { ctx.drawImage(img, 0, 50); }
clipメソッドを使用して、画像の一部を表示させることができます。
clipをかける前にあらかじめsave。実行後にrestoreするしかないと思います。それでせっかく描画したclipが消えてしまうのが残念なところ。
DEMOcanvas = document.getElementById('canvas'); ctx = canvas.getContext('2d'); // 背景を黒で塗りつぶす ctx.beginPath(); ctx.rect(0, 0, 400, 400); ctx.fillStyle = "rgb(0,0,0)"; ctx.fill(); ctx.closePath(); //クリップ前にcontextを保存 ctx.save(); // 円形のクリッピングパスを生成 ctx.beginPath(); ctx.arc(200, 200, 150, 0, Math.PI * 2, false); ctx.clip(); var img = new Image(); img.src = "./test.jpg"; img.onload = function() { ctx.drawImage(img, 0, 50); } //contextをクリップ前の状態に戻す。 ctx.restore();