html5 canvas移动浏览器上实现图片压缩上传

2019-01-28 15:17:46王冬梅
  • dic = height / width;    c.width = 200;  //图片压缩的标准,这里是按照定款200px计算   
  • c.height = 200 * dic;    cxt.clearRect(0,0,200,200*dic);   
  • cxt.drawImage(img,0,0,200,200*dic);    var finalURL = c.toDataURL();     
  • //  最终得到的 finalURL 即为压缩后的图片编码,可用来上传或者直接生成img标签   

    这里需要注意的几点是:

    1、本地调试时会有一个报错,原因为跨域问题,需要再服务端调试;

    2、canvas中的drawImage()方法具备图像剪裁功能,但将图像拉伸和剪裁同时写入的话,会优先执行剪裁的方法;

    3、使用AJAX上传图像编码时,编码内的加号会被转成空格上传导致后台编译失败;

    4、关于对图片区域选择上传的方法尚在尝试阶段,后续会补上心得。

    以上就是本文的全部内容,希望对大家的学习有所帮助。

    原文:http://www.cnblogs.com/liaojh/p/5209433.html