我现在正在使用本教程,并且它运行良好,但我唯一担心的是它有点慢。我有一个 600x600 的画布,当使用填充工具时,填充画布大约需要 2 秒。在 Microsoft Paint 中,填充画布的大小是即时的,填充画布 10 倍的大小(6000x6000)仍然略短,大约为 1 秒。
这只是 javascript 和 canvas 元素的限制,还是可以对其进行优化以接近 MS Paint 等桌面程序的速度?我用 Firebug 对其进行了分析,这个功能似乎是主要瓶颈之一,但它确实必须运行每次迭代,所以..
function matchStartColor(pixelPos, startR, startG, startB) {
var r = colorLayerData.data[pixelPos];
var g = colorLayerData.data[pixelPos + 1];
var b = colorLayerData.data[pixelPos + 2];
return (r == startR && g == startG && b == startB);
}