【发布时间】:2011-07-22 04:19:26
【问题描述】:
可能的重复:
Get image data in Javascript?
How to encode image data within an HTML file?
有没有什么方法可以在javascript中将图像转换为二进制数据,反之亦然。
【问题讨论】:
标签: javascript jquery
可能的重复:
Get image data in Javascript?
How to encode image data within an HTML file?
有没有什么方法可以在javascript中将图像转换为二进制数据,反之亦然。
【问题讨论】:
标签: javascript jquery
我认为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 编码返回图像。它将被重新编码。所以你无法访问原始图像数据。
【讨论】: