更新记录
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 贴图走系统文件选择器。

收藏人数:
购买源码授权版(
试用
赞赏(0)
下载 13
赞赏 0
下载 12701167
赞赏 1956
赞赏
京公网安备:11010802035340号