我有一张需要转换为Uint8Array的图像。
例如:
var image = new Image();
image.src="image13.jpg";
现在,我需要将此 image 变量转换为Uint8Array。 JS中有什么功能可以实现此功能?
答案 0 :(得分:1)
即使这个问题很老,这也是将“ js image to uint8array”进行谷歌搜索时的第一个结果,并且仍然没有答案,所以这里是一个:
要实现此目的,可以使用HTML5 canvas以及canvas.toBlob()和blob.arrayBuffer()函数。
node_modules
async function imageToUint8Array(image, context) {
return new Promise((resolve, reject) => {
context.width = image.width;
context.height = image.height;
context.drawImage(image, 0, 0);
context.canvas.toBlob(blob => blob.arrayBuffer()
.then(buffer => resolve(new Uint8Array(buffer))).catch(reject)
)
});
}