我有一个名为frameBytes
的Uint8Array。我使用以下代码从这个字节数组创建RGBA值:
for (var i = 0; i < frameBytes.length; i++) {
imgData.data[4 * i] = frameBytes[i];// red
imgData.data[4 * i + 1] = frameBytes[i]; // green
imgData.data[4 * i + 2] = frameBytes[i];// blue
imgData.data[4 * i + 3] = 255; // alpha
}
接下来,我将使用以下代码将这些RGBA值显示在画布上:
var ctx = fingerFrame.getContext('2d');
var imgData = ctx.createImageData(fingerFrame.width, fingerFrame.height);
ctx.putImageData(imgData, 0, 0, 0, 0, fingerFrame.width, fingerFrame.height);
之后,我使用以下代码将画布中的图像放入图像标签中:
const img = document.getElementById('i');
img.src = fingerFrame.toDataURL();
但我不想使用画布。我希望能直接在图像标签中显示来自Uint8Array的图像。我该怎么做?
var base64image = "data:image/png;base64,"+ bytesToBase64(data)
确保 mimetypeimage/png
是正确的(_您将不得不自己解决_)。 - akeem