更新记录

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 } 点击导出按钮时触发,返回导出图片路径和尺寸

注意事项

  1. 组件默认占满全屏,宽高属性设为 0 时使用屏幕尺寸
  2. 裁剪框需在图片区域内才有效,超出范围会提示无效裁剪区域
  3. 文字添加后需点击 确认 按钮才会写入画布,否则仅作为预览
  4. 导出图片为原图尺寸,不受屏幕缩放影响
  5. 操作历史记录最多保存16步,超出后自动清理最早记录

隐私、权限声明

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

存储 相机 相册

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

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

暂无用户评论。