在javascript中将图像转换为二进制数据

时间:2011-03-24 14:04:59

标签: javascript jquery

  

可能重复:
  Get image data in Javascript?
  How to encode image data within an HTML file?

有没有办法在javascript中将图像转换为二进制数据,反之亦然。

1 个答案:

答案 0 :(得分:42)

我认为Get image data in 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编码返回图像。它将被重新编码。因此您无法访问原始图像数据。