BitmapFactory.Options
2015-08-14 02:05
288 查看
HttpEntity entity = httpResponse.getEntity();
byte[] byteIn = EntityUtils.toByteArray(entity);
BitmapFactory.Options bmpFactoryOptions = new BitmapFactory.Options();
bmpFactoryOptions.inJustDecodeBounds = true;
BitmapFactory.decodeByteArray(byteIn, 0, byteIn.length,bmpFactoryOptions);
int heightRatio = (int) Math.ceil(bmpFactoryOptions.outHeight/ height);
int widthRatio = (int) Math.ceil(bmpFactoryOptions.outWidth/ width);
if (heightRatio > 1 && widthRatio > 1) {
bmpFactoryOptions.inSampleSize = heightRatio > widthRatio ? heightRatio: widthRatio;
}
bmpFactoryOptions.inJustDecodeBounds = false;
bitmap = BitmapFactory.decodeByteArray(byteIn, 0,byteIn.length, bmpFactoryOptions);
outHeight:图片本来的高度
outWidth:图片本来的宽度
inSampleSize:图片缩放的倍数,如果设为4,则宽和高都是原来的1/4 ,则图是原来的16分之1
inJustDecodeBounds:如果设置为TRUE,不获取图片,不加载到内存。但是会把图片的高度和宽度都获取到
也就是说,如果我们把它设为true,那么BitmapFactory.decodeFile(String
path, Options opt)并不会真的返回一个Bitmap给你,它仅仅会把它的宽,高取回来给你
文档说明:
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.预处理,然后设置为false
根据ImageView的大小获取bitmap
异步加载图片,在加载图片时,先加载一个默认的图片,然后在后台加载图片,加载完成后显示出来;
然后把ImageView的宽和高作为参数width和height传入
用bitmap工厂对象的outWidth和outHeight得到原图片的宽和高,除以ImageView的宽和高,从而知道缩放比例
再赋值给inSampleSize
byte[] byteIn = EntityUtils.toByteArray(entity);
BitmapFactory.Options bmpFactoryOptions = new BitmapFactory.Options();
bmpFactoryOptions.inJustDecodeBounds = true;
BitmapFactory.decodeByteArray(byteIn, 0, byteIn.length,bmpFactoryOptions);
int heightRatio = (int) Math.ceil(bmpFactoryOptions.outHeight/ height);
int widthRatio = (int) Math.ceil(bmpFactoryOptions.outWidth/ width);
if (heightRatio > 1 && widthRatio > 1) {
bmpFactoryOptions.inSampleSize = heightRatio > widthRatio ? heightRatio: widthRatio;
}
bmpFactoryOptions.inJustDecodeBounds = false;
bitmap = BitmapFactory.decodeByteArray(byteIn, 0,byteIn.length, bmpFactoryOptions);
outHeight:图片本来的高度
outWidth:图片本来的宽度
inSampleSize:图片缩放的倍数,如果设为4,则宽和高都是原来的1/4 ,则图是原来的16分之1
inJustDecodeBounds:如果设置为TRUE,不获取图片,不加载到内存。但是会把图片的高度和宽度都获取到
也就是说,如果我们把它设为true,那么BitmapFactory.decodeFile(String
path, Options opt)并不会真的返回一个Bitmap给你,它仅仅会把它的宽,高取回来给你
文档说明:
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.预处理,然后设置为false
根据ImageView的大小获取bitmap
异步加载图片,在加载图片时,先加载一个默认的图片,然后在后台加载图片,加载完成后显示出来;
然后把ImageView的宽和高作为参数width和height传入
用bitmap工厂对象的outWidth和outHeight得到原图片的宽和高,除以ImageView的宽和高,从而知道缩放比例
再赋值给inSampleSize
相关文章推荐
- ECSHOP购物流程收货人信息详细地址显示省市区
- 在Linux下编译安装PHP5.6.11(4)
- CentOS使用yum源中自带的rpm包安装LAMP环境
- linux重新编译安装gd,增加freetype支持,解决验证码不显示问题,Fatal error: Call to undefined function imagettftext()
- Domino9 自动化运维
- LINUX修改path环境变量
- 从一道面试题谈linux下fork的运行机制
- Nginx 笔记与总结(12)Nginx URL Rewrite 实例(ecshop)
- linux内核内存分配(三、虚拟内存管理)
- OC学习笔记19--copy与mutableCopy的使用
- Linux如何启动/停止/重启MySQL
- 供应防水监听头 防暴监听头 户外拾音器 公检法拾音器 监狱拾音器 防水拾音器 高保真拾音器
- 青岛谱悦 半球形高保真拾音器 吸顶耳安装 MTK-070公检法审讯室 投标中心 安检通道降噪拾音器
- 2015精选品牌! 监控录播拾音器 全指向性,回声抑制,视频会议首选!高保真拾音器,司法高端拾音器
- 天津网站建设-文率科技拒绝套用模板的垃圾网站
- Nginx 的了解
- 系统架构的理解
- 利用Nginx做负载均衡
- 有关linux与windows中文件名的编码问题总结
- Zookeeper分布式集群安装与配置(CentOS6)