更新记录
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++
}
}
});
}