【Android开发】Bitmap的质量压缩法
2024-10-18 09:51:43
public static Bitmap compressImage(Bitmap image) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
//质量压缩方法,这里100表示不压缩,把压缩后的数据存放到baos中
image.compress(Bitmap.CompressFormat.JPEG, 100, baos);
int options = 100;
while ( baos.toByteArray().length / 1024>100) { //循环判断如果压缩后图片是否大于100kb,大于继续压缩
baos.reset();//重置baos即清空baos
image.compress(Bitmap.CompressFormat.JPEG, options, baos);//这里压缩options%,把压缩后的数据存放到baos中
options -= 10;//每次都减少10
}
//把压缩后的数据baos存放到ByteArrayInputStream中
ByteArrayInputStream isBm = new ByteArrayInputStream(baos.toByteArray());
Bitmap bitmap = BitmapFactory.decodeStream(isBm, null, null); //把ByteArrayInputStream数据生成图片
return bitmap;
}
最新文章
- import renumber.py in pymol
- Permission denied:multiarray.cp35-win_amd64.pyd(tensorflow0.12.0在windows下安装)
- 【JAVA集合框架之Set】
- LoadRunner常见问题整理
- zabbix自定义监控tcp连接数
- POJ 1979 Red and Black (红与黑)
- C#学习笔记(补充)——扩展方法、事件
- 一个只需要点 「下一步」就完成监控 Windows
- PhotoShop常用快捷键(1)
- 试用Let's encrypt
- Ngui _CD技能特效
- SharePoint 2013 列表启用搜索
- QC的使用简介
- Docker 基础 : 镜像
- tomcat 工作原理
- echarts使用笔记五:echarts的Zoom控件
- sqoop简单配置与使用
- sklearn学习笔记
- 第一部分:开发前的准备-第三章 Application 基本原理
- HTTP Methods 和 RESTful Service API 设计