我主要是参考这个帖子:
http://ask.dcloud.net.cn/question/2089
下面的path是“file:///mnt/sdcard/DCIM/Camera/20150208_154024.jpg”
console.log("path=" + path);
var img = new Image();
img.src = path; // 传过来的图片路径在这里用。
img.onload = function() {
var that = this;
console.log("wh = " + that.width + "," + that.height);
//生成比例
var w = that.width,
h = that.height,
scale = w / h;
w = 480 || w; //480 你想压缩到多大,改这里
h = w / scale;
console.log("wh = " + w + "," + h);
//生成canvas
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
canvas.width = w;
canvas.height = h;
ctx.drawImage(that, 0, 0, w, h);
var base64 = canvas.toDataURL('image/jpeg', 1 || 0.8); //1最清晰,越低越模糊。
alert(base64);
代码和参考的帖子是一样的。但是 base64的内容却只是 "data:,“
搜索了一下,说 Android 2.3 以下的 canvas 不支持 toDataURL,请问是这个原因吗?
还是其他哪个地方代码有问题?