为了简化对图片压缩的调用,提供最简洁与合理的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
相关文章:
大学网站设计制作软件有哪些,如何将网站制作成自己app?
如何安全更换建站之星模板并保留数据?
建站之星Pro快速搭建教程:模板选择与功能配置指南
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
内部网站制作流程,如何建立公司内部网站?
建站之星如何修改网站生成路径?
建站之星会员如何解锁更多建站功能?
如何正确选择百度移动适配建站域名?
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
如何通过多用户协作模板快速搭建高效企业网站?
建站主机默认首页配置指南:核心功能与访问路径优化
家庭建站与云服务器建站,如何选择更优?
如何用低价快速搭建高质量网站?
如何快速搭建高效香港服务器网站?
Android滚轮选择时间控件使用详解
,石家庄四十八中学官网?
建站之星如何优化SEO以实现高效排名?
如何通过VPS建站实现广告与增值服务盈利?
C#如何使用XPathNavigator高效查询XML
建站之星IIS配置教程:代码生成技巧与站点搭建指南
定制建站流程解析:需求评估与SEO优化功能开发指南
建站之星安装后如何配置SEO及设计样式?
昆明网站制作哪家好,昆明公租房申请网上登录入口?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
如何用狗爹虚拟主机快速搭建网站?
如何用搬瓦工VPS快速搭建个人网站?
制作网站的软件免费下载,免费制作app哪个平台好?
建站之星伪静态规则如何设置?
建站之星安装后如何自定义网站颜色与字体?
上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?
PHP 500报错的快速解决方法
宝塔建站无法访问?如何排查配置与端口问题?
建站之星后台管理:高效配置与模板优化提升用户体验
设计网站制作公司有哪些,制作网页教程?
如何在自有机房高效搭建专业网站?
如何在搬瓦工VPS快速搭建网站?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
定制建站平台哪家好?企业官网搭建与快速建站方案推荐
香港服务器网站卡顿?如何解决网络延迟与负载问题?
交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?
如何在企业微信快速生成手机电脑官网?
网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?
html制作网站的步骤有哪些,iapp如何添加网页?
网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?
内网网站制作软件,内网的网站如何发布到外网?
济南企业网站制作公司,济南社保单位网上缴费步骤?
建站之星后台密码遗忘如何找回?
网站制作话术技巧,网站推广做的好怎么话术?
公司网站制作费用多少,为公司建立一个网站需要哪些费用?
*请认真填写需求信息,我们会在24小时内与您取得联系。