Android中处理大图片时图片压缩
来源:互联网 发布:软件测试柠檬班靠谱吗 编辑:程序博客网 时间:2024/05/21 05:38
1、BitmapFactory.Options中的属性
在进行图片压缩时,是通过设置BitmapFactory.Options的一些值来改变图片的属性的,下面我们来看看BitmapFactory.Options中常用的属性意思:
- options.inPreferredConfig - 设置Bitmap的偏好配置,值有Bitmap.Config.ARGB_8888,Bitmap.Config.ARGB_4444,Bitmap.Config.ARGB_8888,Bitmap.Config.RGB_565。默认为ARGB_8888,顾名思义,这是设置Bitmap的显示质量的。
- options.outHeight - 得到该Bitmap的高。
- options.outWidth - 得到该Bitmap的宽。
- options.outMimeType - 得到该Bitmap的MIME值。
- options.inSampleSize - 压缩比例,如果options.inSampleSize = 4;那么压缩后的图片的宽和高都为原来图片的1/4,压缩后的图片的像素为原来图片的1/16。
- options.inJustDecodeBounds - 官方文档上是这样介绍的:
- If set to true, the decoder will return null (no bitmap), but
the out... fields will still be set, allowing the caller to query
the bitmap without having to allocate the memory for its pixels. - 意思就是:如果设置为true,那么使用BitmapFactory.decodeStream(InputStream is, Rect outPadding,
Options opts)或BitmapFactory.decodeXXX(....,Options opts)方法并不会真的返回一个Bitmap对象,而是返回null,虽然返回null,但是我们却可以通过options来获得该Bitmap的一些值,如它的宽、高、MimeType等值。这样就不必为Bitmap对象分配内存空间也可以获得它的Width和Height,从而节约内存。所以这个属性对我们压缩图片前进行检查大有帮助。常用的技巧就是为了避免图片过大而导致OOM,所以在我们加载图片之前就通过设置它为true,获取到图片的宽、高等值,然后进行一些判断检查等,决定图片是否压缩。我们来看看加载一张405x579图片的例子: - 上述代码输出的是:可以知道确实是返回null了,而且还获得了该Bitmap的宽高等值。
- If set to true, the decoder will return null (no bitmap), but
2、通过实例来看看怎么压缩图片
我们通过看Log可以知道压缩后图片的宽高:
0 0
- Android中处理大图片时图片压缩
- Android中处理大图片时图片压缩
- Android中处理大图片时图片压缩
- android加载大图片时oom问题处理
- android 加载大图片时计算图片的缩放比例
- Android开发中 页面加载超大图片时出现OOM
- Android中当加载大图片时进行缩放
- Android中加载高清大图及图片压缩方式
- Android 大图压缩处理,避免OOM
- Android加载大图片时的OOM异常及解决(图片的二次采样)
- Android 加载大图片时内存溢出怎么办
- android 中图片的压缩处理
- Android开发中图片的压缩处理
- Android开发中 页面加载一张超大图片时出现OOM
- Android开发中如何解决加载大图片时内存溢出的问题
- Android开发中如何解决加载大图片时内存溢出的问题
- Android开发中如何解决加载大图片时内存溢出的问题
- Android开发中如何解决加载大图片时内存溢出的问题
- 字符串的排序 接收一个字符串,对其中所有的字符窜进行排序,如:helloitcast,打印:acehillostt
- 为神马北大那个DNA是wrong answer 呢,哪里有问题求大神讲解啊
- 内存泄露与内存溢出
- SQL基础E-R图画法(二)
- 会话控制--php基础最详细教程
- Android中处理大图片时图片压缩
- 树状数组资料、
- 判断回文数
- 集合的排序 一个集合中存储无序元素 使其有序化(字典顺序) 不去重
- Qt 之 QQ系统表情(一)
- Android之Palette动态决定UI色彩风格
- web路径、表单重复提交(2种方法)、验证码
- HDOJ 5253 连接的管道(最小生成树)
- C++虚函数表