uniapp 最接近微信的图片压缩插件 Ba-ImageCompressor

简介(下载地址)

Ba-ImageCompressor 是一款uniapp简单快捷的图片压缩插件,仿微信朋友圈压缩策略。

  • 支持批量压缩
  • 支持设置不压缩的阈值,单位为K
  • 支持返回压缩后图片大小,单位为B

效果与对比

内容 原图 Ba-ImageCompressor Wechat
截屏 720P 720*1280,390k 720*1280,87k 720*1280,56k
截屏 1080P 1080*1920,2.21M 1080*1920,104k 1080*1920,112k
拍照 13M(4:3) 3096*4128,3.12M 1548*2064,141k 1548*2064,147k
拍照 9.6M(16:9) 4128*2322,4.64M 1032*581,97k 1032*581,74k
滚动截屏 1080*6433,1.56M 1080*6433,351k 1080*6433,482k

效果截图

uniapp 最接近微信的图片压缩插件 Ba-ImageCompressor_第1张图片

使用方法

引用

script 中引入组件

	const imageCompressor = uni.requireNativePlugin('Ba-ImageCompressor')

示例

可在页面 script 中调用(示例参考,可根据自己业务和调用方法自行修改)

		methods: {
			imageCompress() {//压缩
				console.log(this.path)
				console.log(this.outputPath)
				imageCompressor.compress({
						path: this.path, //原始图片路径(单张)
						paths: this.paths,//原始图片路径(批量,也可以单张)
					},
					(ret) => {
						console.log(ret)
						if (ret.outputPath) {
							this.outputPath = ret.tempFiles[0].path;
							this.outputSize = this.formatSize(ret.tempFiles[0].size);

							//this.outputPath = ret.outputPath;//单张
							//this.outputSize = this.formatSize(ret.outputSize);//单张
						}
					});
			},
			formatSize(size, unit = "B") {
				let s = size;
				while (s > 1024) {
					s = (s / 1024).toFixed(1);
					switch (unit) {
						case "B":
							unit = "kb"
							break;
						case "kb":
							unit = "M"
							break;
						case "M":
							unit = "G"
							break;
					}
				}
				return s + unit;
			}
		}

方法清单

名称 说明
onCompress 图片压缩

onCompress 方法参数

图片压缩

属性名 类型 必填 默认值 说明
path String true ‘’ 原图片路径
paths String true ‘’ 原图片路径(多张)
ignoreBy Number false 100 不压缩的阈值,单位为K,默认100

返回参数

属性名 类型 说明
outputPath String 压缩后图片路径
outputSize Number 压缩后图片大小,单位为B
tempFiles Array 多张压缩返回,属性有 path:路径,size:大小

系列插件

图片选择插件 Ba-MediaPicker (文档)

图片编辑插件 Ba-ImageEditor (文档)

文件选择插件 Ba-FilePicker (文档)

应用消息通知插件 Ba-Notify(文档)

应用未读角标插件 Ba-Shortcut-Badge (文档)

应用开机自启插件 Ba-Autoboot(文档)

扫码原生插件(毫秒级、支持多码)Ba-Scanner-G(文档)

扫码原生插件 - 新(可任意自定义界面版本;支持连续扫码;支持设置扫码格式)Ba-Scanner(文档)

动态修改状态栏、导航栏背景色、字体颜色插件 Ba-AppBar(文档)

原生sqlite本地数据库管理 Ba-Sqlite(文档)

安卓保活插件 Ba-KeepAlive(文档)

安卓快捷方式(桌面长按app图标) Ba-Shortcut(文档)

自定义图片水印 Ba-Watermark(文档)

视频压缩、视频剪辑插件 Ba-VideoCompressor(文档)

最接近微信的图片压缩插件 Ba-ImageCompressor(文档)

动态切换应用图标、名称(如新年、国庆等) Ba-ChangeIcon(文档)

原生Toast弹窗提示(可穿透所有界面) Ba-Toast(文档)

图片涂鸦、画笔 Ba-ImagePaint(文档)

pdf阅读 Ba-Pdf(文档)

声音提示、震动提示、语音播报 Ba-Beep(文档)

你可能感兴趣的:(uni-app,uni-app,图片压缩,仿微信,压缩,原生插件)