更新记录

1.0.0(2026-01-28)

【v1.0.0】 ✅ 图片压缩 - 支持质量/尺寸压缩,JPG/PNG/WebP格式 ✅ 图片裁剪 - 自由裁剪、比例裁剪、圆形裁剪 ✅ 图片旋转 - 任意角度旋转、水平/垂直翻转 ✅ 添加水印 - 文字/图片水印、9宫格定位、透明度调节 ✅ 应用滤镜 - 11种滤镜(黑白、复古、冷暖色调、亮度对比度等) ✅ 图片拼接 - 横向/纵向/网格拼接 ✅ 批量处理 - 批量压缩、进度回调 ✅ 获取信息 - 获取图片尺寸、大小、格式


平台兼容性

uni-app(3.8.1)

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

其他

多语言 暗黑模式 宽屏模式
× ×

高级图片处理插件 (UTS Image Pro)

🎯 插件简介

专业级图片处理插件,采用原生开发,性能卓越。支持图片压缩、裁剪、水印、滤镜等多种功能,API 简洁易用,适用于电商、社交、内容平台等各类应用场景。

✨ 核心功能

1. 图片压缩

  • 按质量压缩(0-100)
  • 按尺寸压缩(指定宽高)
  • 智能压缩(自动选择最优参数)
  • 支持 JPG、PNG、WebP 格式

2. 图片裁剪

  • 自由裁剪(指定坐标和尺寸)
  • 比例裁剪(1:1、4:3、16:9 等)
  • 圆形裁剪

3. 图片旋转/翻转

  • 任意角度旋转
  • 水平翻转
  • 垂直翻转

4. 水印功能

  • 文字水印(自定义字体、颜色、透明度)
  • 图片水印(支持 PNG 透明)
  • 多位置选择(9 宫格定位)
  • 批量添加水印

5. 滤镜效果

  • 黑白、怀旧、反色
  • 亮度、对比度、饱和度调节
  • 模糊、锐化
  • 冷色调、暖色调
  • 褐色、复古
  • 11 种预设滤镜

6. 图片拼接

  • 横向/纵向拼接
  • 网格拼接(2x2、3x3)
  • 自定义间距和背景色

7. 批量处理

  • 支持批量压缩
  • 支持批量添加水印
  • 异步处理,不阻塞 UI

📦 安装使用

安装插件

在 HBuilderX 中导入插件,或通过插件市场安装。

基础用法

import ImagePro from '@/uni_modules/uts-image-pro'

// 1. 图片压缩
const result = await ImagePro.compress({
  src: '/path/to/image.jpg',
  quality: 80,
  maxWidth: 1920,
  maxHeight: 1080
})
console.log('压缩后路径:', result.path)
console.log('压缩率:', result.compressRatio)

// 2. 图片裁剪
const cropResult = await ImagePro.crop({
  src: '/path/to/image.jpg',
  x: 100,
  y: 100,
  width: 500,
  height: 500,
  aspectRatio: '1:1' // 可选:保持比例
})

// 3. 添加水印
const watermarkResult = await ImagePro.addWatermark({
  src: '/path/to/image.jpg',
  text: '版权所有',
  position: 'bottom-right',
  fontSize: 24,
  color: '#FFFFFF',
  alpha: 0.5
})

// 4. 应用滤镜
const filterResult = await ImagePro.applyFilter({
  src: '/path/to/image.jpg',
  filter: 'vintage', // 怀旧滤镜
  intensity: 0.8
})

// 可用滤镜:
// - grayscale: 黑白
// - invert: 反色
// - sepia: 褐色
// - vintage: 复古
// - cool: 冷色调
// - warm: 暖色调
// - brightness: 亮度
// - contrast: 对比度
// - saturation: 饱和度
// - blur: 模糊
// - sharpen: 锐化

// 5. 批量处理
const batchResult = await ImagePro.batchCompress({
  images: ['/path/1.jpg', '/path/2.jpg', '/path/3.jpg'],
  quality: 80,
  : (current, total) => {
    console.log(`处理进度: ${current}/${total}`)
  }
})

// 6. 图片拼接
const mergeResult = await ImagePro.merge({
  images: ['/path/1.jpg', '/path/2.jpg', '/path/3.jpg'],
  direction: 'horizontal', // 横向拼接
  spacing: 10,
  backgroundColor: '#FFFFFF'
})
// direction 可选:horizontal(横向)、vertical(纵向)、grid(网格)

🎨 完整 API 文档

compress(options)

压缩图片

参数:

  • src (string): 源图片路径
  • quality (number): 压缩质量 0-100,默认 80
  • maxWidth (number): 最大宽度,默认不限制
  • maxHeight (number): 最大高度,默认不限制
  • format (string): 输出格式 'jpg'|'png'|'webp',默认保持原格式
  • outputPath (string): 输出路径,默认自动生成

返回:

{
  success: boolean,
  path: string,
  size: number,
  width: number,
  height: number,
  compressRatio: number
}

crop(options)

裁剪图片

参数:

  • src (string): 源图片路径
  • x (number): 裁剪起始 X 坐标
  • y (number): 裁剪起始 Y 坐标
  • width (number): 裁剪宽度
  • height (number): 裁剪高度
  • aspectRatio (string): 保持比例 '1:1'|'4:3'|'16:9'
  • circle (boolean): 是否圆形裁剪

addWatermark(options)

添加水印

参数:

  • src (string): 源图片路径
  • text (string): 水印文字(文字水印)
  • image (string): 水印图片路径(图片水印)
  • position (string): 位置 'top-left'|'top-center'|'top-right'|'center'|'bottom-left'|'bottom-center'|'bottom-right'
  • fontSize (number): 字体大小,默认 24
  • color (string): 文字颜色,默认 '#FFFFFF'
  • alpha (number): 透明度 0-1,默认 0.5
  • margin (number): 边距,默认 20

applyFilter(options)

应用滤镜

参数:

  • src (string): 源图片路径
  • filter (string): 滤镜名称
    • 'grayscale': 黑白
    • 'vintage': 怀旧
    • 'invert': 反色
    • 'sepia': 褐色
    • 'blur': 模糊
    • 'sharpen': 锐化
    • 'brightness': 亮度
    • 'contrast': 对比度
    • 'saturation': 饱和度
  • intensity (number): 强度 0-1,默认 1.0

rotate(options)

旋转图片

参数:

  • src (string): 源图片路径
  • angle (number): 旋转角度 0-360
  • flipHorizontal (boolean): 水平翻转
  • flipVertical (boolean): 垂直翻转

merge(options)

拼接图片

参数:

  • images (string[]): 图片路径数组
  • direction (string): 方向 'horizontal'|'vertical'|'grid'
  • spacing (number): 间距,默认 0
  • backgroundColor (string): 背景色,默认 '#FFFFFF'

batchCompress(options)

批量压缩

参数:

  • images (string[]): 图片路径数组
  • quality (number): 压缩质量
  • onProgress (function): 进度回调

💡 使用场景

电商平台

  • 商品图片压缩上传
  • 添加店铺水印
  • 统一图片尺寸

社交应用

  • 头像裁剪
  • 图片滤镜美化
  • 照片拼图

内容平台

  • 文章配图处理
  • 批量添加版权水印
  • 图片格式转换

⚡ 性能优势

  • 原生实现,处理速度快 10 倍以上
  • 支持大图处理(50MB+)
  • 内存优化,不会 OOM
  • 异步处理,不阻塞 UI

📱 平台支持

  • ✅ Android 5.0+
  • ✅ iOS 10.0+
  • ✅ 鸿蒙 Next

隐私、权限声明

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

``` Android: - android.permission.READ_EXTERNAL_STORAGE(读取存储) - android.permission.WRITE_EXTERNAL_STORAGE(写入存储) - android.permission.READ_MEDIA_IMAGES(读取媒体图片,Android 13+) iOS: - NSPhotoLibraryUsageDescription(相册访问) - NSPhotoLibraryAddUsageDescription(相册添加) 权限用途: 读取用户选择的图片文件,处理后保存到本地存储。所有处理均在本地完成,不上传任何数据。 ```

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

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

暂无用户评论。