我主要是参考这个帖子:
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,请问是这个原因吗?
还是其他哪个地方代码有问题?
4 个回复
yiivon
同求。
若有支持base64解码的接口就好了。
YanRong (作者)
经过测试,确实是 android版本问题。
不过这也不算大问题,现在谁还会用2.x 的版本呢?
霸王
这个是图片啊,有音频的转换方法吗,谢谢
1***@qq.com
mark