更新记录
1.00(2026-08-07)
1、图片可全屏显示;
2、剪裁后问文字、涂鸦和马赛克位置不变;
3、多次剪裁不变形不位移;
4、导出图片与编辑界面保持一致;
5、按操作顺序绘制图形;
6、支持撤销和重做;
平台兼容性
uni-app(5.07)
| Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
iOS |
鸿蒙 |
| √ |
√ |
√ |
- |
√ |
- |
√ |
- |
- |
| 微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
小红书小程序 |
快应用-华为 |
快应用-联盟 |
| √ |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
HuTu-ImgEditor 图片编辑器
一个功能丰富的 uni-app 图片编辑组件,支持裁剪、旋转、滤镜、涂鸦、马赛克、文字标注等多种编辑功能,兼容 Vue2/Vue3 及多端平台。
功能特性
| 功能 |
说明 |
| 裁剪 |
支持自由裁剪和多种比例,可拖拽裁剪框和四角手柄 |
| 旋转 |
左转90°、右转90°、水平翻转、垂直翻转 |
| 滤镜 |
6种滤镜效果:原图、黑白、复古、反色、明亮、模糊 |
| 涂鸦 |
8种颜色可选,画笔粗细可调(2-20px) |
| 马赛克 |
可调节马赛克大小(8-30px) |
| 文字 |
添加可拖拽文字标注,支持颜色和大小设置(14-48px) |
| 撤销/重做 |
支持最多16步操作历史记录 |
| 导出 |
导出原尺寸高清图片 |
基本使用
<template>
<xImgEditor
:src="imageSrc"
:showToolbar="true"
:showActions="true"
:tools="['crop', 'rotate', 'filter', 'draw', 'mosaic', 'text']"
@load="onLoad"
@export="onExport"
@error="onError"
/>
</template>
<script>
export default {
data() {
return {
imageSrc: '/static/demo.jpg'
}
},
methods: {
onLoad(info) {
console.log('图片加载成功', info)
},
onExport(result) {
console.log('导出图片路径', result.tempFilePath)
console.log('图片尺寸', result.width, result.height)
},
onError(err) {
console.error('图片加载失败', err)
}
}
}
</script>
属性说明
| 属性名 |
类型 |
默认值 |
说明 |
| src |
String |
'' |
图片地址,支持本地路径和网络地址 |
| width |
Number |
0 |
编辑器宽度,默认使用屏幕宽度 |
| height |
Number |
0 |
编辑器高度,默认使用屏幕高度 |
| showToolbar |
Boolean |
true |
是否显示工具栏 |
| showActions |
Boolean |
true |
是否显示底部操作栏(取消/撤销/重做/导出) |
| tools |
Array |
见下方 |
可用工具列表 |
tools 默认值: ['crop', 'rotate', 'filter', 'draw', 'mosaic', 'text']
事件说明
| 事件名 |
参数 |
说明 |
| load |
{ width, height } |
图片加载成功时触发,返回原图宽高 |
| error |
Error |
图片加载失败时触发 |
| export |
{ tempFilePath, width, height } |
点击导出按钮时触发,返回导出图片路径和尺寸 |
注意事项
- 组件默认占满全屏,宽高属性设为
0 时使用屏幕尺寸
- 裁剪框需在图片区域内才有效,超出范围会提示无效裁剪区域
- 文字添加后需点击 确认 按钮才会写入画布,否则仅作为预览
- 导出图片为原图尺寸,不受屏幕缩放影响
- 操作历史记录最多保存16步,超出后自动清理最早记录