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");
发布评论
评论(2)
提供一个方法:
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,/, "");
}
JavaScript是无法获取本地图片的二进制信息,不过有一个折中的办法就是通过flash来完成,通过flash获取本地的图片信息,然后再由Flash完成图片到二进制之间的转换再由base64进行编码。
这里介绍了Flash将本地图片转换成二进制图片的资料:
http://www.webshowme.com/04js/content.asp?id=2493