更新记录

1.0.3(2022-12-01)

格式化描述

1.0.2(2022-12-01)

修改描述

1.0.1(2022-12-01)

描述插件使用情况,以及一些测试信息供大家参考

查看更多

平台兼容性

Vue2 Vue3
×
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.6.10 app-vue × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari

说明

image-conversion 目前只在H5 ios android app上应用, 小程序没有项目需求所以没有测试。
压缩图片的质量canvasToTempFilePath 通过quality 参数控制可以自行修改。
经过测试13m以内的图片quality用0.1可以压缩到300k以内。
大于13m的图片quality就得小于0.1 不然最多压缩到320-350k之间 这个可以根据自己项目需求修改。
如果设置的压缩的最小质量 超出图片限制就会出现死循环 。
比如15m的图片你要压缩到200k设置的quality是0.1 。
但是15m图片quality是0.1最多压缩成350k 你想要的是200k这样就出现死循环。
所以需要根据项目设置一个合理的范围。

使用方法

导入后直接引用

.imgCanvas {
  position: absolute;
  left: 9999999px;
  top: 0;
}
<canvas canvas-id="imgCanvas" class="imgCanvas" :style="{width: canvasData.width, height: canvasData.height }" />
<template>
    <u-button @tap="chooseImage" text="按钮"></u-button>
</template>
uni.chooseImage({
  count: 9, //默认9
  sourceType: ['album', 'camera'],
  success: async res => {
    let i = 0
    let len = res.tempFilePaths.length
    while (i < len) {
      const ress = (await uni.getImageInfo({
        src: res.tempFilePaths[i]
      }))[1];
      const parmas = {
        path: res.tempFilePaths[i],
        name: res.tempFiles[i].name || res.tempFiles[i].path,
        size: res.tempFiles[i].size,
        width: ress.width,
        height: ress.height,
      }
      this.canvasData = {
        width: `${ress.width}rpx`,
        height: `${ress.height}rpx`,
      } //图片最好是大于2M的 太小压缩没效果还会更大
      this.initPath = await imgCompress.getCompressImage(parmas, 0.3)
      i++
    }
  }
});
}

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问