ユーザーが保持したい領域の周りにマウスで線を引く単純な画像トリミングに取り組んでいます。彼らが確認すると、画像の残りの部分が切り取られます。現在、クロッピングを処理している方法は次のとおりです。
var data = c.getImageData(0,0,canvas.width,canvas.height);
for (var x = 0; x < data.width; x++) {
for (var y = 0; y < data.height; y++) {
if (!c.isPointInPath(x,y)) {
var n = x + (data.width * y);
var index = n*4;
data.data[index+3] = 0;
}
}
}
ただし、これはすぐに行き詰まる可能性があります。保持しようとする画像が少ないほど、処理は速くなりますが、画像の 30% (キャンバスは 800x800) を保存しても、数秒間ハングアップします。これについてもっと速い方法はありますか?