我尝试使用网络工作程序处理某些ImageData,但在尝试放回图像数据时遇到了问题。
首先我将一些ImageData发送给我的工作人员:
worker.postMessage({
'pixels':
_context.getImageData(0,
i*(_height / _blindNumber),
_width,
_height / _blindNumber),
'key': i,
'width': _width,
'height': _height
});
在那里,我预先形成一些图像处理并回发一个包含修改过的ImageData的新对象。
//From worker
self.postMessage({
'key': data.key,
'pixels': pixels
});
然后我拿到它并把它放在一个数组中:
worker.onmessage = function(e) {
var data = e.data;
_imgSlices[data.key].pixels = data.pixels;
});
稍后我尝试使用我新修改的ImageData
_canvas.getContext('2d').putImageData(_imgSlices[i].pixels, 0, 0);
但是我收到以下错误: " TypeError:Value没有实现接口ImageData。"
如果我测试我从工作人员那里得到的数据,它会告诉我数据实际上是ImageData:
console.log(_imgSlices[i].pixels); //Outputs: [object ImageData]
可能出了什么问题?
谢谢!