我正在研究一個簡單的圖像作物,用戶在他們想要保留的區域周圍用鼠標畫一條線。當他們確認後,圖像的其餘部分將被裁剪掉。以下是我目前如何處理裁剪:加速畫布圖像作物
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