更新记录
1.0.3(2022-12-01) 下载此版本
格式化描述
1.0.2(2022-12-01) 下载此版本
修改描述
1.0.1(2022-12-01) 下载此版本
描述插件使用情况,以及一些测试信息供大家参考
查看更多平台兼容性
uni-app
Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
---|---|---|---|---|---|---|---|---|
√ | - | √ | √ | √ | - | - | - | - |
微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
---|---|---|---|---|---|---|---|---|---|---|
- | - | - | - | - | - | - | - | - | - | - |
其他
多语言 | 暗黑模式 | 宽屏模式 |
---|---|---|
× | × | √ |
说明
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++
}
}
});
}