我正在使用 Webworker 处理来自 Canvas 的像素数组,并在将其返回后 - 分配给 ImageData 数组。Firefox 运行良好,但 Chromium 将一个空像素数组放入 Canvas。调查显示数组复制不起作用,结果数组的元素为空。数组切片也没有帮助,只能通过 for in 遍历每个元素,但我想知道这里有什么问题?
imgd = ctx.createImageData(w,h);
worker.onmessage = function (e) {
imgd.data = e.data;
console.log(imgd.data === e.data); // true in FF, false in Chromium
img.data = e.data.slice(0);
console.log(imgd.data); // correct in FF, empty array in Chromium
};