canvasで画像データの描画処理において、clip() を利用してクリッピング領域を制約し画像を表示することが出来ますが、
例:円形のクリッピングパス
ctx.beginPath();
ctx.arc(50, 50, 45, 0, Math.PI * 2, false);
ctx.clip();
var img = new Image();
img.src = "clip_pic.png?" + new Date().getTime();
img.onload = function() {
ctx.drawImage(img, 0, 0);
}
上記は円形のクリッピングパスですが、透過pngやベクター形式の画像データからクリッピングパスを生成することはできるのでしょうか?
例えば人物を形どった画像を描画したい時、人物のシルエットをクリッピングパスに使いたいといった形です。
どうぞよろしくおねがいいたします。
みんなの回答 2 件
ImageDataを使ってシルエットの部分かどうかを確認しながら
それに合わせて対象画像の要らないところを透過や白黒等で塗りつぶす
クリッピングパスを作成するわけではありませんが、globalCompositeOperation = "destination-atop" を用いる事によってご希望の効果が得られるのではないかと思います。
canvasで揺らめく画像マスクは可能ですか? - jsdo.it - Share JavaScript, HTML5 and ...
http://jsdo.it/qa/226関連するトピックス