是否可以使用ImageData
数组对象来获取 Image() 对象。我的最终目标是使用drawImage
,而不是putImageData
因为putImageData
太慢(来自 stackoverflow 类似的 qs 和我自己的测试)。我所拥有的只是ImageData
我想在 canvas 上的现有图像之上绘制的数组。
问问题
3759 次
1 回答
4
您可以ImageBitmap
从 an创建一个ImageData
并将其传递给drawImage()
.
https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/createImageBitmap
就像是:
const imgdata = ...;
const ctx = ...;
createImageBitmap(imgdata).then(function(imgBitmap) {
ctx.drawImage(imgBitmap, ...remaining args);
});
我能够做到这一点来扩展ImageData
我拥有的一些,因为putImageData
没有缩放的论据。不幸的是,IE、Edge 和 Safari 似乎不支持createImageBitmap()
.
值得一提的是,对于我的情况(调整 的大小ImageData
),createImageBitmap()
确实有额外的选项可以ImageBitmap
自行调整结果的大小。
于 2018-02-28T19:13:42.613 回答