使用WebWorker时,ImageData丢失了它的界面

时间:2013-08-21 07:38:58

标签: javascript html5 image-processing web-worker

我尝试使用网络工作程序处理某些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]

可能出了什么问题?

谢谢!

0 个答案:

没有答案