博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
求助一个问题,100分,我也没多少分了。
阅读量:5441 次
发布时间:2019-06-15

本文共 992 字,大约阅读时间需要 3 分钟。

============问题描述============

我在写一个图片压缩的方法,因为要上传到服务器,所以图片不可以过大。
网上的这些方法也都烂了,可是都不怎么管用。比如我现在使用的。
我在这个循环里设置了,如果baos.toByteArray().length / 1024>50成立,就继续压缩。
可是我设置段点之后,发现baos.toByteArray().length / 1024已经运行到小于50了,然后返回这个bitmap。当我上传到服务器的时候,图片竟然是二三百K,我想问问大家有没有懂的,帮我一下。
或者哪位朋友有好的图片压缩方法给我一个。
ByteArrayOutputStream baos = new ByteArrayOutputStream();		image.compress(Bitmap.CompressFormat.JPEG, 100, baos);		int options = 100;		while ( baos.toByteArray().length / 1024>50) {			baos.reset();			options -= 10;				image.compress(Bitmap.CompressFormat.JPEG, options, baos);		}		ByteArrayInputStream isBm = new ByteArrayInputStream(baos.toByteArray());		Bitmap bitmap = BitmapFactory.decodeStream(isBm, null, null);		return bitmap;
我不需要图片宽高的那种压缩,我只想要一张图片在不让它失真太严重的情况下,能压缩到50k以下。实在不行100k以内也可以。但是不要失真太严重

============解决方案1============

上传前
压缩前1024x768
压缩后1024x768
上传后
用搜狗浏览器预览图片右键点击图片选择图片属性
大小 41060 字节
维度 773   x   580   pixels
选择图片下载到桌面 
文件大小68.1K
尺寸1024 X768

转载于:https://www.cnblogs.com/liangxieliang56/p/4038885.html

你可能感兴趣的文章
sql
查看>>
快速排序练习(二)
查看>>
网上见到一同行发的隐私政策 备以后用
查看>>
将响应数据进行压缩处理的过滤器(CompressionFilter)
查看>>
安装Hadoop
查看>>
感性的人最理性,理性的人很感性
查看>>
《Java开发手册》学习进程之第4章控制流程语句
查看>>
log4j xml配置
查看>>
BZOJ 1924: [Sdoi2010]所驼门王的宝藏 【tarjan】
查看>>
毕业设计10-23星期一
查看>>
第一篇博客
查看>>
jQuery.getJSON( url [, data ] [, success ] ) 中的回调函数参数不执行
查看>>
电脑装机遇到的问题
查看>>
如何在WebApi中使用过滤器实现面向切面编程(AOP)
查看>>
ASP.NET TextBox 当鼠标点击后清空默认提示文字
查看>>
Maven是什么
查看>>
小管理 大智慧
查看>>
7) mvn dependency:tree
查看>>
MITK Tutorial(二)
查看>>
浅析nodejs的http模块
查看>>