美文网首页
uni-app h5压缩图片

uni-app h5压缩图片

作者: 小刚fighting | 来源:发表于2019-11-19 11:35 被阅读0次

    translate-image.js

    /**

    * 压缩

    * @param {Object} imgSrc 图片url

    * @param {Object} callback 回调设置返回值

    */

    export function translate(imgSrc,callback) {

    var img = new Image();

    img.src = imgSrc;

    img.onload = function() {

    var that = this;

    var h = that.height;

    // 默认按比例压缩

    var w = that.width;

    var canvas = document.createElement('canvas');

    var ctx = canvas.getContext('2d');

    var anw = document.createAttribute("width");

    anw.nodeValue = w;

    var anh = document.createAttribute("height");

    anh.nodeValue = h;

    canvas.setAttributeNode(anw);

    canvas.setAttributeNode(anh);

    ctx.drawImage(that, 0, 0, w, h);

    //压缩比例

    var quality = 0.1;

    var base64 = canvas.toDataURL('image/jpeg', quality);

    canvas = null;

    var blob=base64ToBlob(base64);

    // console.log(blob)

    //Blob对象转blob地址

    var blobUrl=window.URL.createObjectURL(blob);

    callback(blobUrl);

    }

    }

    /**

    * base转Blob对象

    * @param {Object} base64 base64地址

    */

    export function base64ToBlob(base64) {

    var arr = base64.split(','),

    mime = arr[0].match(/:(.*?);/)[1],

    bstr = atob(arr[1]),

    n = bstr.length,

    u8arr = new Uint8Array(n);

    while (n--) {

    u8arr[n] = bstr.charCodeAt(n);

    }

    return new Blob([u8arr], {

    type: mime

    });

    }

    调用压缩方法

    相关文章

      网友评论

          本文标题:uni-app h5压缩图片

          本文链接:https://www.haomeiwen.com/subject/nyjwictx.html