我正在研究一个简单的图像作物,用户在他们想要保留的区域周围用鼠标画一条线。当他们确认后,图像的其余部分将被裁剪掉。以下是我目前如何处理裁剪:加速画布图像作物
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),也会导致图像挂起几秒钟。有没有更快的方法来解决这个问题?
我不使用标准裁剪的原因是我希望用户能够绘制自由形式的裁剪,而不仅仅是一个矩形。 – Fibericon