ここで Fabric.js が問題になるとは思いません。時間アラートを追加すると 2 ~ 3 秒しかかからないからです。ただし、使用するコードは次のとおりです。
applyTo: function(canvasEl) {
var context = canvasEl.getContext('2d'),
imageData = context.getImageData(0, 0, canvasEl.width, canvasEl.height),
data = imageData.data,
len = imageData.width * imageData.height * 4,
index = 0,
average;
while (index < len) {
average = (data[index] + data[index + 1] + data[index + 2]) / 3;
data[index] = average;
data[index + 1] = average;
data[index + 2] = average;
index += 4;
}
context.putImageData(imageData, 0, 0);
},
したがって、それが犯罪者でない場合、犯罪者はputImageData
機能です。
もちろん、15秒以内に5000x5000の画像で機能するように、その機能を増やしたり最適化したりする方法はありますか?
そうでない場合は、jQuery を介して putImageData が終了した後にのみ削除される「作業中」のアイコンを設定する方法はありますか?