一尘不染

将图像转换为javascript中的二进制数据[重复]

javascript

有什么方法可以将图像转换为javascript中的二进制数据,反之亦然。


阅读 202

收藏
2020-05-01

共1个答案

一尘不染

我想用JavaScript获取图像数据?回答您的问题:

// Code taken from MatthewCrumley (https://stackoverflow.com/a/934925/298479)
function getBase64Image(img) {
    // Create an empty canvas element
    var canvas = document.createElement("canvas");
    canvas.width = img.width;
    canvas.height = img.height;

    // Copy the image contents to the canvas
    var ctx = canvas.getContext("2d");
    ctx.drawImage(img, 0, 0);

    // Get the data-URL formatted image
    // Firefox supports PNG and JPEG. You could check img.src to guess the
    // original format, but be aware the using "image/jpg" will re-encode the image.
    var dataURL = canvas.toDataURL("image/png");

    return dataURL.replace(/^data:image\/(png|jpg);base64,/, "");
}

img标签传递给此功能。它将以base64编码返回图像。但是它将被重新编码。因此,您无法访问原始图像数据。

2020-05-01