评论

微信小程序压缩图片,也可以转换图片格式

微信小程序压缩图片,也可以转换图片格式

wxml:

<canvas class="canvas" style="height:{{windowHeight}}px;width:{{windowWidth}}px;" canvas-id='attendCanvasId'></canvas>

wxss:

.canvas{
  position: fixed;
  top:-9999999999999999999px;left:0;
  z-index: -1;
  background#fff;
}

js:

let that = this;
var windowWidth = 750//图片压缩的宽度
var  quality=0.9;//图片的质量,目前仅对 jpg 有效。取值范围为 (0, 1],不在范围内时当作 1.0 处理。
wx.getImageInfo({
  src: tempFilePaths,
  success(imgres) {
    var imgwidth = imgres.width;//图片实际宽度
    var imgheight = imgres.height;//图片实际高度
    if (imgwidth > windowWidth) {//判断图片实际宽度是否大于要压缩的宽度,这个判断也可以不要,根据实际需求来
      that.setData({
        windowWidth: windowWidth,//图片压缩宽度
        windowHeight: (windowWidth * imgheight) / imgwidth//计算图片压缩之后的高度,与图片原比例一致
      })
      // 放到对应的wxml页面 
      const ctx = wx.createCanvasContext('attendCanvasId');//canvas id
      ctx.drawImage(tempFilePaths, 00, windowWidth, (windowWidth * imgheight) / imgwidth);
      ctx.draw(falsefunction () {
        wx.canvasToTempFilePath({
          canvasId'attendCanvasId',
          fileType: imgres.type == 'png' ? 'png' : 'jpg'//目标文件的类型,这里可以根据实际情况来,
          quality: quality, //图片的质量,目前仅对 jpg 有效。取值范围为 (0, 1],不在范围内时当作 1.0 处理。
          success(s){
            console.log("压缩之后的图片", s);
          }
        });
      });
    }
  }
})


最后一次编辑于  2022-07-20  
点赞 2
收藏
评论
登录 后发表内容