更新记录
1.0.0(2026-06-09)
1.0.0
支持自定义裁剪比例、拖拽缩放调整画面
平台兼容性
uni-app(5.07)
| Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
iOS |
鸿蒙 |
| - |
√ |
- |
- |
√ |
- |
- |
- |
- |
| 微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
小红书小程序 |
快应用-华为 |
快应用-联盟 |
| √ |
√ |
√ |
√ |
√ |
√ |
- |
- |
- |
- |
- |
- |
uni-image-cropper-plugin
基于 uni-app + Vue 3 的图片裁剪插件示例。组件支持小程序和 App 常用的图片选择、固定比例裁剪、Canvas 导出临时文件路径。
支持比例
- 1:1
- 4:3
- 16:9
- 3:4
- 9:16
- 3:2
- 2:3
运行
npm install
npm run dev:h5
npm run dev:mp-weixin
npm run dev:app
使用
<template>
<una-image-cropper
v-model:src="imagePath"
default-ratio="1:1"
:output-width="1080"
@crop="handleCrop"
/>
</template>
<script setup>
import { ref } from 'vue'
const imagePath = ref('')
function handleCrop(result) {
console.log(result.tempFilePath)
}
</script>
Props
| 属性 |
类型 |
默认值 |
说明 |
src |
String |
'' |
当前图片路径,支持 v-model:src |
defaultRatio |
String |
'1:1' |
默认裁剪比例 |
ratios |
Array |
['1:1','4:3','16:9','3:4','9:16','3:2','2:3'] |
可选比例 |
stageHeight |
Number |
420 |
裁剪区域高度 |
outputWidth |
Number |
1080 |
导出图片宽度 |
quality |
Number |
0.92 |
导出质量 |
fileType |
String |
'jpg' |
导出格式 |
Events
| 事件 |
说明 |
change |
切换比例时触发 |
ready |
图片信息读取完成时触发 |
crop |
裁剪成功时触发,返回 tempFilePath、宽高、比例和原图裁剪坐标 |
error |
选择图片、读取图片或导出失败时触发 |
暴露方法
通过 ref 可调用:
chooseImage():打开选择图片。
crop():执行裁剪。
reset():重置裁剪框。