- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android中图片压缩方案详解要点
Android中图片压缩方案详解 1、质量压缩法 设置bitmap options属性,降低图片的质量,像素不会减少 第一个参数为需要压缩的bitmap图片对象,第二个参数为压缩后图片保存的位置 设置options 属性0-100,来实现压缩。 private Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); press(Bitmap.CompressFormat.JPEG, 100, baos);//质量压缩方法,这里100表示不压缩,把压缩后的数据存放到baos中 int options = 100; while ( baos.toByteArray().length / 1024100) { //循环判断如果压缩后图片是否大于100kb,大于继续压缩 baos.reset();//重置baos即清空baos press(Bitmap.CompressFormat.JPEG, options, baos);//这里压缩options%,把压缩后的数据存放到baos中 options -= 10;//每次都减少10 } ByteArrayInputStream isBm = new ByteArrayInputStream(baos.toByteArray());//把压缩后的数据baos存放到ByteArrayInputStream中 Bitmap bitmap = BitmapFactory.decodeStream(isBm, null, null);//把ByteArrayInputStream数据生成图片 return bitmap; } 质量压缩不会减少图片的像素。它是在保持像素不变的前提下改变图片的位深及透明度等,来达到压缩图片的目的。进过它压缩的图片文件大小会有改变,但是导入成bitmap后占得内存是不变的。因为要保持像素不变,所以它就无法无限压缩,到达一个值之后就不会继续变小了。显然这个方法并不适用于缩略图,其实也不适用于想通过压缩图片减少内存的适用,仅仅适用于想在保证图片质量的同时减少文件大小的情况而已。 2、采样率压缩法 private Bitmap getimage(String srcPath) { BitmapFactory.Options newOpts = new BitmapFactory.Options(); //开始读入图片,此时把options.inJustDecodeBounds 设回true了 newOpts.inJustDecodeBounds = true; Bitmap bitmap = BitmapFactory.decodeFile(srcPath,newOpts);//此时返回bm为空 newOpts.inJustDecodeBounds = false; int w = newOpts.outWidth; int h = newOpts.outHeight; //现在主流手机比较多是1280*720分辨率,所以高和宽我们设置为 float hh = 1280f;//这里设置高度为1280f float ww = 720f;//这里设置宽度为720f //缩放比。由于是固定比例缩放,只用高或者宽其中一个数据进行计算即可 int be = 1;//be=1表示不缩放 if (w h w ww) {//如果宽度大的话根据宽度固定大小缩放 be = (int) (newOpts.outWidth / ww); } else if (w h h hh) {//如果高度高的话根据宽度固定大小缩放 be = (int) (newOpts.outHeight / hh); } if (be = 0) be = 1; newOpts.inSample
您可能关注的文档
- 课堂新坐标2016_2017学年高中物理第2章固体第1节晶体和非晶体课件.ppt
- 2.3.1 直线与平面垂直的判定(公开课).ppt
- 课堂新坐标2016_2017学年高中物理第2章楞次定律和自感现象第3节自感现象的应用课件.ppt
- ADAMS-技术入门与提高课件.ppt
- Agilent1100操作方法.doc
- 2.3.1 直线与平面垂直的判定与性质.ppt
- 课堂新坐标2016_2017学年高中物理第2章圆周运动2匀速圆周运动的向心力和向心加速度课件.ppt
- 2.3.1直线与平面垂直的判定(天地英豪版0).ppt
- Adobe_Photoshop_路径终极教程.ppt
- 课堂新坐标2016_2017学年高中物理第2章磁场章末分层突破课件.ppt
- 电子商务基础与应用(第十二版)课件 第4章 电子商务网站建设改.pptx
- JavaScript+Zepto+Vue.js移动前端开发入门到实战 课件 第1章-Web前端开发概述.pptx
- JavaScript+Zepto+Vue.js移动前端开发入门到实战 课件 第11章Pinia-Vue存储库.pptx
- 2.2.2 扫描器原理及应用.pptx
- 计算机网络安全技术(第7版)(微课版) 课件5 下一代防火墙.pptx
- 4.5 数字证书法的应用.pptx
- 2.5.1 ARP欺骗工作原理.pptx
- 1.2网络安全发展历史.pptx
- JavaScript+Zepto+Vue.js移动前端开发入门到实战 课件 第4章-DOM和BOM.pptx
- 4.3 非对称加密算法.pptx
文档评论(0)