当前位置 : 主页 > 网络编程 > JavaScript >

cavas动态压缩图片

来源:互联网 收集:自由互联 发布时间:2021-06-28
利用cavas压缩图片 // base 64 压缩处理图片大小getBase64(url, callback, outputFormat) { //通过构造函数来创建的 img 实例,在赋予 src 值后就会立刻下载图片,相比 createElement() 创建 省去了 append(
利用cavas压缩图片
// base 64 压缩处理图片大小
getBase64(url, callback, outputFormat) {
    //通过构造函数来创建的 img 实例,在赋予 src 值后就会立刻下载图片,相比 createElement() 创建  省去了 append(),也就避免了文档冗余和污染
    let canvas = document.createElement('CANVAS');
    let ctx = canvas.getContext('2d');
    let imgs = new Image;
     imgs.crossOrigin = 'Anonymous'; //移动端不支持,需要注掉
    imgs.onload = function() {
        let width = imgs.width;
        let height = imgs.height;
        // 按比例压缩0.8倍
        let rate = (width < height ? width / height : height / width) / 0.63;
        canvas.width = width * rate;
        canvas.height = height * rate;
        ctx.drawImage(imgs, 0, 0, width, height, 0, 0, width * rate, height * rate);
        let dataURL = canvas.toDataURL(outputFormat || 'image/png', .8);
        callback.call(this, dataURL);
        canvas = null;
    };
    imgs.src = url;
},
上一篇:Countdown
下一篇:userAgent
网友评论