Javascript ImageData:替换"数据"字段

时间:2015-10-12 22:39:10

标签: javascript html5 multithreading getimagedata

所以我有一个javascript / html5页面,它对图像进行了大量的操作。因为它们很重,我想在一个线程中做那些,我用getImageData()。数据将图像数据提取到核心。然后核心执行所有操作并发回所得到的像素信息数组。现在,回到主线程我想把结果放回图像,我通过从Image加载它来创建一个新的ImageData对象(var imgData = getImageData(...))然后我想要替换数据在ImageData对象中使用我从第二个线程获得的数据。但是imgData.data = newData什么都不做。有没有办法做到这一点,除了逐个元素地遍历数据数组?

4 个答案:

答案 0 :(得分:1)

您无法直接分配给imgData.data,您需要使用:

imgData.data.set(newData)

答案 1 :(得分:0)

尝试:.putImageData(newData,x,y);

答案 2 :(得分:-1)

假设您有上下文ctx

var imgData = ctx.createImageData(100, 100);
imgData.data = [/*Your array of pixel info*/]
ctx.putImageData(imgData, 100, 100);

应该这样做。

答案 3 :(得分:-1)