更新记录

1.0.3(2026-10-21)

  • 画布默认底色改为 #FFFFFF。图片周围和旋转补边都用这个颜色,不写进图片。宿主仍可用 canvasColor 覆盖
  • 底栏间距与滑块对齐编辑页:滑块轨道更细,行距更紧。历史、工具、滤镜、按钮和色块的间距一并收过
  • 文字切到别的工具时留在图层上,不压进图片。切回来仍可编辑、删除。文字栏增加「添加」。保存,或裁剪点应用时,才把文字画进图片
  • 修复从别的工具切到马赛克后涂抹没有反应。进入马赛克即可涂,颜色取进入时的画面

1.0.2(2026-10-21)

fix bug

1.0.1(2026-10-21)

优化布局

查看更多

平台兼容性

uni-app(4.27)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
× × × × √ × 5.0 13 -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
× × × × × × × × × × × ×

uni-app x(4.27)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - - - - -

其他

多语言 暗黑模式 宽屏模式 蒸汽模式
√ × × √

fz-app-image-editor

1.0.3

只支持 App。编辑页是 UTS 原生页(Kotlin / Swift),不是 web-view,也没有 H5 编辑器。

拷到 uni_modules。UTS 必须打自定义基座。改原生代码后重打。

用法(App)

import { editImage } from '@/uni_modules/fz-app-image-editor'

const res = await editImage({
    imagePath: filePath,  // 相册 / _doc / file://
    maxEdge: 2048,
    locale: i18n.global.locale.value,  // en / zh / es,或 zh-CN、en-US。不传跟系统语言
    filter: 'warm',  // 打开调色时默认选中的滤镜 id
    filters: [       // 可选。非空则替换内置滤镜条
        { id: 'normal', label: '原图' },
        {
            id: 'film',
            label: '胶片',
            brightness: 5,
            contrast: -20,
            saturation: -25,
            blackPoint: 15,
            whitePoint: -10,
            shadows: 8,
            highlights: -6,
            gamma: 5,
            temperature: 18,
            tint: 4,
            vibrance: -15,
            brilliance: -8,
            definition: -12,
            colorFilter: [245, 209, 160, 0.2]
            // 也可用 filterR / filterG / filterB / filterA
        }
    ],
    themeColor: '#2F6FED', // 主题色。主按钮、选中滤镜、裁剪描边。不传为 #48A16B
    canvasColor: '#FFFFFF', // 画布底色,图片周围的颜色。不传为 #FFFFFF
    brushColor: '#17233D', // 涂鸦颜色,不跟主题色走
    textColor: '#EF4444',  // 文字默认颜色
    strings: {             // 可选。只传要改的词,其余仍按 locale
        defaultText: 'Pet' // 添加文字时放上画布的默认单词。不传为 Hello / 你好 / Hola
    },
    healColor: '#FF685E',  // 消除笔涂抹颜色。不传为半透明红。#RRGGBB 会带默认透明度,#AARRGGBB 用给定透明度
    icons: {               // 可选。本地图,缺的键用内置图标。建议单色透明 PNG
        crop: '/static/crop.png',
        close: '/static/close.png' // 左上角关闭按钮,按原图显示,不染色
    },
    features: {            // 可选。不传或 null 为开,false 隐藏
        adjust: true,
        crop: true,
        heal: true,
        mosaic: true,
        draw: true,
        text: true,
        sticker: false,
        saveAlbum: true    // 左下角保存到相册
    }
})
// res.path 本地 jpeg

取消编辑会 reject,errCode === 94204。

不传或传空 filters 时,用内置 Normal / Vintage / B&W / Vivid / Soft / Warm / Cool(fz-app-image-editor 默认参数)。传入非空数组则整条滤镜栏换成宿主预设。filter 是默认选中的 id(找不到则选第一条)。进入调色会预选该滤镜,但在用户改滑杆或点 Apply 前不记为脏数据。

原生页支持:裁剪 / -180°~180° 任意角旋转 / 翻转、消除笔、马赛克、涂鸦、文字、贴图、调色滤镜。保存把文件交给宿主,不上传、不绑业务 ID。

themeColor 是整页强调色:保存 / 应用、选中的滤镜,以及裁剪框描边。普通按钮底色不变。canvasColor 是画布底色,只铺在图片周围,不写进图片。brushColor 只作用于涂鸦,textColor 只作用于文字默认色,两者都不跟主题色走。文字取色和涂鸦用同一套色板。healColor 只作用于消除笔涂抹时的笔迹,点应用后仍按周围像素修复,不把这个颜色画进图里。icons 按键名替换图标,没传的键仍用内置图标。icons.close 替换左上角关闭按钮,按原图铺在按钮上,不染色。

features 控制工具和左下角「保存到相册」。不传、或某一项为 null,该项开启。false 才隐藏。画布在底栏上方,裁剪框和贴图都在可见区域内操作。文字切到别的工具时仍留在图层上,切回来可以继续编辑或删除;文字栏的「添加」再放一条文字。保存,或裁剪点应用时,才把文字画进图片。贴图面板里的「删除」去掉当前选中的贴图;选中贴图右上角也可以点删除。

原生底栏按编辑页:历史、图标工具、底部 Cancel / Apply / Save。全屏没有宿主导航栏,画布左上角关闭。语言由宿主 locale 传入。strings 按键覆盖内置文案,没传的键仍用该语言的默认词。strings.defaultText 是添加文字时放上画布的默认单词。strings.rotateFmt 里的 {n} 会换成角度数字。

H5、小程序没有编辑页。在这些端调用 editImage() 会 reject,errCode === 94208。

错误码

码 含义
94201 路径无效
94202 读写失败
94203 无法解码
94204 用户取消
94205 没有前台页面
94206 编辑器已打开
94207 消除笔涂满整图
94208 非 App

App 配置

manifest.json 开启 Gallery(演示页选图用)。iOS 贴图会申请相册权限;Android 贴图走系统文件选择器。

隐私、权限声明

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

读取相册,保存图片至相册

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

图片仅在本机处理,不上传服务器

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

无