为了简化对图片压缩的调用,提供最简洁与合理的api压缩逻辑,对于压缩为Bitmap根据屏幕分辨率动态适配最佳大小,对于压缩为File优化底层libjpeg的压缩,整个图片压缩过程全在压缩线程池中异步压缩,结束后分发回UI线程。

支持的压缩类型
Tiny图片压缩框架支持的压缩数据源类型:
1、Bytes
2、File
3、Bitmap
4、Stream
5、Resource
6、Uri(network、file、content)
Tiny支持单个数据源压缩以及批量压缩,支持的压缩类型:
1、数据源—>压缩为Bitmap
2、数据源—>压缩为File
3、数据源—>压缩为File并返回压缩后的Bitmap
4、批量数据源—>批量压缩为Bitmap
5、批量数据源—>批量压缩为File
6、批量数据源—>批量压缩为File并返回压缩后Bitmap
压缩参数
Tiny.BitmapCompressOptions
Bitmap压缩参数可配置三个:
1、width
2、height
3、Bitmap.Config
如果不配置,Tiny内部会根据屏幕动态适配以及默认使用ARGB_8888
Tiny.FileCompressOptions
File压缩参数可配置四个:
1、quality-压缩质量,默认为76
2、isKeepSampling-是否保持原数据源图片的宽高
3、fileSize-压缩后文件大小
4、outfile-压缩后文件存储路径
如果不配置,Tiny内部会根据默认压缩质量进行压缩,压缩后文件默认存储在:ExternalStorage/Android/data/${packageName}/tiny/目录下
Tiny项目地址: https://github.com/tianyingzhong/Tiny
Tiny与微信朋友圈的压缩率比较
下面是使用Tiny图片压缩库进行压缩的效果对比示例:
| 图片信息 | Tiny | |
|---|---|---|
| 6.66MB (3500x2156) | 151KB (1280x788) | 135KB (1280x789) |
| 4.28MB (4160x3120) | 219KB (1280x960) | 195KB (1280x960) |
| 2.60MB (4032x3024) | 193KB (1280x960)) | 173KB (1280x960) |
| 372KB (500x500) | 38.67KB (500x500) | 34.05KB (500x500) |
| 236KB (960x1280) | 127KB (960x1280) | 118KB (960x1280) |
压缩为Bitmap
Tiny.BitmapCompressOptions options = new Tiny.BitmapCompressOptions();
Tiny.getInstance().source("").asBitmap().withOptions(options).compress(new BitmapCallback() {
@Override
public void callback(boolean isSuccess, Bitmap bitmap) {
//return the compressed bitmap object
}
});
压缩为File
Tiny.FileCompressOptions options = new Tiny.FileCompressOptions();
Tiny.getInstance().source("").asFile().withOptions(options).compress(new FileCallback() {
@Override
public void callback(boolean isSuccess, String outfile) {
//return the compressed file path
}
});
压缩为File并返回Bitmap
Tiny.FileCompressOptions options = new Tiny.FileCompressOptions();
Tiny.getInstance().source("").asFile().withOptions(options).compress(new FileWithBitmapCallback() {
@Override
public void callback(boolean isSuccess, Bitmap bitmap, String outfile) {
//return the compressed file path and bitmap object
}
});
批量压缩为Bitmap
Tiny.BitmapCompressOptions options = new Tiny.BitmapCompressOptions();
Tiny.getInstance().source("").batchAsBitmap().withOptions(options).batchCompress(new BitmapBatchCallback() {
@Override
public void callback(boolean isSuccess, Bitmap[] bitmaps) {
//return the batch compressed bitmap object
}
});
批量压缩为File
Tiny.FileCompressOptions options = new Tiny.FileCompressOptions();
Tiny.getInstance().source("").batchAsFile().withOptions(options).batchCompress(new FileBatchCallback() {
@Override
public void callback(boolean isSuccess, String[] outfile) {
//return the batch compressed file path
}
});
批量压缩为File并返回Bitmap
Tiny.FileCompressOptions options = new Tiny.FileCompressOptions();
Tiny.getInstance().source("").batchAsFile().withOptions(options).batchCompress(new FileWithBitmapBatchCallback() {
@Override
public void callback(boolean isSuccess, Bitmap[] bitmaps, String[] outfile) {
//return the batch compressed file path and bitmap object
}
});
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# android
# 图片压缩框架
# Android图片压缩
# Android 基于Bitmap的四种图片压缩方式
# Android 高效图片压缩的实现
# Android开发之图片压缩实现方法分析
# Android整理好的图片压缩工具类
# Android LuBan与Compressor图片压缩方式
# android图片压缩工具类分享
# Android开发之图片压缩工具类完整实例
# Android图片压缩的实例详解
# Android图片压缩方法并压缩到指定大小
# Android三种常见的图片压缩方式
# 配以
# 大家多多
# 池中
# 默认为
# 压缩率
# 结束后
# 目录下
# https
# table
# tianyingzhong
# github
相关文章:
油猴 教程,油猴搜脚本为什么会网页无法显示?
如何用虚拟主机快速搭建网站?详细步骤解析
制作旅游网站html,怎样注册旅游网站?
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
建站主机如何安装配置?新手必看操作指南
在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?
我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?
如何选择域名并搭建高效网站?
长沙企业网站制作哪家好,长沙水业集团官方网站?
建站主机空间推荐 高性价比配置与快速部署方案解析
建站之星后台管理系统如何操作?
南宁网站建设制作定制,南宁网站建设可以定制吗?
完全自定义免费建站平台:主题模板在线生成一站式服务
建站之星代理商如何保障技术支持与售后服务?
已有域名和空间,如何快速搭建网站?
如何零基础在云服务器搭建WordPress站点?
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
如何通过智能用户系统一键生成高效建站方案?
建站之星各版本价格是多少?
如何用景安虚拟主机手机版绑定域名建站?
如何破解联通资金短缺导致的基站建设难题?
代购小票制作网站有哪些,购物小票的简要说明?
佛山网站制作系统,佛山企业变更地址网上办理步骤?
专业网站制作服务公司,有哪些网站可以免费发布招聘信息?
建站之星如何开启自定义404页面避免用户流失?
如何制作一个表白网站视频,关于勇敢表白的小标题?
如何通过虚拟主机快速完成网站搭建?
建站VPS能否同时实现高效与安全翻墙?
如何在阿里云购买域名并搭建网站?
Bpmn 2.0的XML文件怎么画流程图
相册网站制作软件,图片上的网址怎么复制?
如何通过云梦建站系统实现SEO快速优化?
c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】
免费网站制作appp,免费制作app哪个平台好?
东莞专业制作网站的公司,东莞大学生网的网址是什么?
西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?
香港服务器部署网站为何提示未备案?
为什么Go需要go mod文件_Go go mod文件作用说明
教学网站制作软件,学习*后期制作的网站有哪些?
简单实现Android验证码
建站之星CMS建站配置指南:模板选择与SEO优化技巧
制作公司内部网站有哪些,内网如何建网站?
宁波免费建站如何选择可靠模板与平台?
专业公司网站制作公司,用什么语言做企业网站比较好?
唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?
小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
做企业网站制作流程,企业网站制作基本流程有哪些?
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
孙琪峥织梦建站教程如何优化数据库安全?
*请认真填写需求信息,我们会在24小时内与您取得联系。