是否可以使用ImageData
数组对象来获取一个Image()对象。我的最终目标是使用drawImage
而不是putImageData
,因为putImageData
太慢了(来自stackoverflow类似的问题和我自己的测试)。我只有一个ImageData
数组,想要在画布上面的现有图像上绘制。
是否可以使用ImageData
数组对象来获取一个Image()对象。我的最终目标是使用drawImage
而不是putImageData
,因为putImageData
太慢了(来自stackoverflow类似的问题和我自己的测试)。我只有一个ImageData
数组,想要在画布上面的现有图像上绘制。
ImageData
创建一个ImageBitmap
,并将其传递给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
大小的额外选项。
function createImageBitmap(image: ImageBitmapSource): Promise<ImageBitmap>;
,function createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number): Promise<ImageBitmap>;
- kinjelom