ImageCompression利用canvas压缩图片

ImageCompression

这是一个基于canvas,应用在移动端的前端图片压缩的JS,其修正了移动端即时拍照上传时图片倒转等问题。

使用方法:

步骤一:
链接exif.js和processImg.js,如下:

    <script src="js/exif.min.js"></script>
    <script src="js/processImg.min.js"></script>

步骤二:
写入HTML,其必备要素是一个input file图片上传按钮和一个图片预览也是压缩后图片base64数据存储的img标签。
例:

  <div class="imageFrame">
      <input name="upimage" id="upimage" type="file">
      <input type="button" id="upimageButton" onclick="upimage.click()">
      <img id="showimage" src="images/dengni37.jpg" alt="">
  </div>

步骤三:
调用compressImg方法,如下:

  compressImg('upimage','showimage',480,function(src){
        //此处为回调函数,当图片压缩完成并成功显示后执行
        //可得到图片数据值src
        console.log(src);
  });
  'upimage'为图片上传按钮ID,
  'showimage'为图片预览按钮ID,
  最后一个参数为被压缩后图片的宽度。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
weui js中的imageConversion插件可以用于压缩图片。您可以按照以下步骤进行操作: 1. 首先,引入weui js和imageConversion插件: ``` <script src="https://res.wx.qq.com/open/libs/weuijs/1.2.1/weui.min.js"></script> <script src="//cdn.bootcss.com/blueimp-md5/2.10.0/js/md5.min.js"></script> <script src="//cdn.bootcss.com/blueimp-canvas-to-blob/3.14.0/js/canvas-to-blob.min.js"></script> <script src="//cdn.bootcss.com/blueimp-load-image/5.8.2/js/load-image.all.min.js"></script> <script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script> <script src="//cdn.bootcss.com/blueimp-file-upload/9.19.0/js/vendor/jquery.ui.widget.min.js"></script> <script src="//cdn.bootcss.com/blueimp-file-upload/9.19.0/js/jquery.fileupload.min.js"></script> <script src="//cdn.bootcss.com/blueimp-file-upload/9.19.0/js/jquery.fileupload-image.min.js"></script> <script src="//cdn.bootcss.com/blueimp-file-upload/9.19.0/js/jquery.fileupload-process.min.js"></script> <script src="//cdn.bootcss.com/blueimp-file-upload/9.19.0/js/jquery.fileupload-validate.min.js"></script> <script src="//cdn.bootcss.com/blueimp-file-upload/9.19.0/js/jquery.fileupload-ui.min.js"></script> <script src="//cdn.bootcss.com/blueimp-file-upload/9.19.0/js/jquery.iframe-transport.min.js"></script> <script src="//cdn.bootcss.com/blueimp-file-upload/9.19.0/js/jquery.fileupload-jquery-ui.min.js"></script> <script src="//cdn.bootcss.com/blueimp-file-upload/9.19.0/js/jquery.fileupload-ui.min.js"></script> <script src="//cdn.bootcss.com/blueimp-file-upload/9.19.0/js/jquery.fileupload-process.min.js"></script> <script src="//cdn.bootcss.com/blueimp-file-upload/9.19.0/js/jquery.fileupload-validate.min.js"></script> <script src="//cdn.bootcss.com/blueimp-file-upload/9.19.0/js/jquery.fileupload-image.min.js"></script> <script src="//cdn.bootcss.com/blueimp-file-upload/9.19.0/js/jquery.fileupload-video.min.js"></script> ``` 2. 创建一个input标签,用于上传图片: ``` <input type="file" id="fileInput"> ``` 3. 编写JavaScript代码,调用imageConversion插件的compressImage方法来压缩图片: ``` $('#fileInput').on('change', function() { var file = this.files[0]; if (!file) return; // 压缩图片 weui.imageCompression.compressImage(file, { quality: 0.8, maxWidth: 640, maxHeight: 640, onProgress: function(progress) { console.log(progress); }, onError: function(err) { console.log(err); }, onComplete: function(blob) { // blob即为压缩后的图片 console.log(blob); } }); }); ``` 在上述代码中,quality表示压缩质量,maxWidth和maxHeight表示图片的最大宽度和高度。onProgress、onError和onComplete分别表示压缩过程中的进度、错误和压缩完成的回调函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值