Android图片压缩的几种方案


各位同学早上好,今天推荐的是Hensen同学的原创投稿文章,本文将为你介绍Android平台上几种压缩图片的方案。
效果演示
直接先给大家对比几种图片压缩的效果

质量压缩
质量压缩:根据传递进去的质量大小,采用系统自带的压缩算法,将图片压缩成JPEG格式
尺寸压缩
尺寸压缩:根据图片的缩放比例进行等比大小的缩小尺寸,从而达到压缩的效果
采样率压缩
采样率压缩:根据图片的采样率大小进行压缩
LibJpeg压缩
LibJpeg压缩:通过Ndk调用LibJpeg库进行压缩,保留原有的像素,清晰度高
编译LibJpeg
1、从Github上可以下载已经写好编译脚本的项目:https://github.com/Zelex/libjpeg-turbo-android ,并将其上传到Linux服务器的某个目录
2、授予整个目录权限
3、进入libjpeg目录,使用下面指令进行编译,前提是你的服务器已经搭建了ndk-build和配置了环境变量
4、接着编译成功后,会在 obj/local 目录下生成我们需要的 libjpeg.a
创建工程
1、创建一个新的项目,勾选包含C++,勾选C++11和C++的依赖库

2、将生成的 libjpeg.a和头文件导入到我们的项目中

3、配置gradle
4、配置CMake
5、声明权限
使用LibJpeg
1、启动选择文件的Intent
2、对返回的结果进行压缩
3、加载本地库和声明LibJpeg压缩方法
4、编写LibJpeg的本地文件
提取图片的ARGB通量的RGB通量
采用LibJpeg的API进行压缩
将数据写入到文件中
需要跑一下以上几种方案源码的同学,可以访问: https://github.com/AndroidHensen/BitmapCompress 获取。
本文来自企鹅号 - Android程序员 媒体
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文来自企鹅号 - Android程序员 媒体
如有侵权,请联系 cloudcommunity@tencent.com 删除。