Android如何实现压缩图片后再上传至服务器
来源:互联网 发布:阿里万网域名注册官网 编辑:程序博客网 时间:2024/04/26 18:04
我们现在手机的摄像头像素是越来越高,本以为一个500*500像素的照片应该不会很大,可是上传至服务器后竟然有200-300K,这对于哪些2G网络的手机来说,下载几十几张那简直就是灾难。好在我们有解决的办法。
这里只说如何压缩图片的质量,不讨论如何裁剪图片和上传图片,关于这个功能随后我会专门写一个上传图片和裁剪的文章。
具体方法是这样的
Bitmap photo = BitmapFactory.decodeFile(图片路径);
或
Bundle extra = data.getExtras();
photo = (Bitmap) extra.get("data");
(这里是通过裁剪后,使用onActivityResult方法获取到的图片)
核心就是下面的一句
ByteArrayOutputStream stream = new ByteArrayOutputStream();
photo.compress(Bitmap.CompressFormat.JPEG,100,stream);
注意这里的第二个参数默认是100是不进行压缩处理的,你可以根据具体情况进行处理,我的设置是30基本上可以保证图片不会失真。可以把200-300K的图片压缩至40K左右。然后就可以将该图片显示在ImageView中。
下面说说如何将图片压缩将保存至SD卡中:
Bitmap Photo还是原来的Photo
String filePath = DuParm.tempPath + BannerFileName;File file = new File(filePath);try {file.createNewFile();FileOutputStream fOut = null;fOut = new FileOutputStream(file);if(photo.compress(Bitmap.CompressFormat.JPEG,100,fOut)){fOut.flush();fOut.close();}} catch (IOException e) {e.printStackTrace();}toUploadFile(filePath);
toUploadFile是我的一个上传方法,回头再说。
(完)
- Android如何实现压缩图片后再上传至服务器
- Android压缩图片后再上传图片
- Android压缩图片后再上传图片
- 移动端用canvas压缩图片后再上传的功能
- JAVA实现图片下载至本地,处理后,再上传FTP
- JAVA实现图片下载至缓存处理后,再上传FTP
- asp.net与flash结合来实现painting后再上传图片
- 利用H5Canvas进行前端图片压缩再上传笔记
- 手机端上传图片 先压缩再上传 兼容性高
- android 图片过大如何处理?压缩后图片有多大? 分辨率压缩、质量压缩
- 再再上传一个图片
- 图片压缩,Base64编码后上传服务器
- android 选择图片后对图片压缩
- Android图片压缩并上传到服务器
- php上传图片后 实现压缩图片功能
- Android图片压缩解析与应用实现图片压缩缓存
- Android如何压缩图片上传服务端
- Android关于图片如何压缩上传
- SQL HAVING用法详解
- ARP攻击的原理与防范
- acm文件的输入输出
- google proxy 问题
- 暂且把两年后工作的目标定位为豆瓣
- Android如何实现压缩图片后再上传至服务器
- oracle新建数据库
- c语言实现bitmap
- java synchronized详解 二
- C++ 程序编译的一些莫名其妙的错误。【2013.11.7】
- Python 调试工具
- Linux系统下基于Kvm创建虚拟机时网络网桥的配置使用说明
- 常用的mysql语句
- struts2+jquery+ajax表单验证