Android bitmap 图片缩放,压缩处理
2014-08-20 12:26
736 查看
大家都知道在Android平台上,显示图片时,容易出现bitmap outofmemory除了,对即使的回收bitmap,还有个方法,就是在使用前提前对图片进行处理
对图片进行缩放同时也减小了bitmap的大小
压缩图片
对图片进行缩放同时也减小了bitmap的大小
/** * 缩放,压缩图片 * @param picPath * @param width * @param height * @return */ public InputStream revitionPic(String picPath, int width, int height) { BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; BitmapFactory.decodeFile(picPath, options); options.inSampleSize = calcRatios(options, width, height); options.inJustDecodeBounds = false; Bitmap bitmap = BitmapFactory.decodeFile(picPath, options); //进一步较小图片的大小 return compressPic(bitmap); }计算缩放尺寸缩放比例
/** * 计算缩放比例 * @param options * @param width * @param height * @return */ protected int calcRatios(BitmapFactory.Options options, int width, int height) { int origalWidth = options.outWidth; int origalHeight = options.outHeight; int inSampleSize = 1; if(origalHeight > height || origalWidth > width) { int heightRatios = Math.round(((float)origalHeight / (float)height)); int widthRatios = Math.round((float)origalWidth /(float)width); inSampleSize = heightRatios > widthRatios ? widthRatios : heightRatios; } return inSampleSize; }
压缩图片
/** * 压缩图片 * @param pic * @return */ public InputStream compressPic(Bitmap pic) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); pic.compress(CompressFormat.JPEG, 100, baos); int quality = 100; while(quality > 0 && baos.toByteArray().length / 1024 > 100) { //大于100k baos.reset(); quality -= 5; pic.compress(CompressFormat.JPEG, quality, baos); } return new ByteArrayInputStream(baos.toByteArray()); }
相关文章推荐
- Android 把bitmap转换成String,计算图片的缩放值,根据路径获得突破并压缩返回bitmap用于显示,获取保存 隐患检查的图片文件夹名称,获取保存图片的目录,根据路径删除图片,添加到图库
- Android BitmapFactory图片压缩处理(大位图二次采样压缩处理)
- Android图片压缩与缩放,Bitmap和Drawable相互转换(转)
- android处理图片工具类,图片压缩,把图片互换转换成base64和bitmap
- 分享的是Android图像特效处理的小技巧,比如圆角、倒影、还有就是图片缩放、Drawable转化为Bitmap、Bitmap转化为Drawable等等
- Android中几种图像特效处理的小技巧,比如圆角,倒影,还有就是图片缩放,Drawable转化为Bitmap,Bitmap转化为Drawable等等
- android 根据图片url获取bitmap或者drawable,然后再进行压缩处理
- Android中图片处理(压缩 保存 显示 截屏 视图View转为图片Bitmap)函数工具类
- 正确的对待android的图片处理与压缩,你所熟悉而又陌生的bitmap
- Android BitmapFactory图片压缩处理(大位图二次採样压缩处理)
- android 将图片内容解析成字节数组,将字节数组转换为ImageView可调用的Bitmap对象,图片缩放,把字节数组保存为一个文件,把Bitmap转Byte
- [Android算法] bitmap 将图片压缩到指定的大小
- Android图片缩放、圆角处理以及倒影特效代码
- Android Bitmap转换以及图片的缩放
- android 图片处理(截取,缩放)
- Android 图片旋转,缩放,切割,叠加处理
- android 将图片内容解析成字节数组,将字节数组转换为ImageView可调用的Bitmap对象,图片缩放,把字节数组保存为一个文件,把Bitmap转Byte
- Androidr的图片的缩放、读取、压缩保存
- Android缩放drawable 压缩图片 matrix
- Android如何缩放图片以及Drawable转Bitmap方法