Android中BitmapFactory.Options学习

首先BitmapFactory的作用是:Creates Bitmap objects from various sources, including files, streams, and byte-arrays。

BitmapFactory.Options用于解码Bitmap时对各种参数的控制,详细参数介绍如下:

 

1)inJustDecodeBounds 

 

如果将这个值置为true,那么在解码的时候将不会返回bitmap,只会返回这个bitmap的尺寸。这个属性的目的是,如果你只想知道一个bitmap的尺寸,但又不想将其加载到内存时。这是一个非常有用的属性。

 

2)inSampleSize

 

这个值是一个int,当它小于1的时候,将会被当做1处理,如果大于1,那么就会按照比例(1 / inSampleSize)缩小bitmap的宽和高、

 

降低分辨率,大于1时这个值将会被处置为2的倍数。

例如,width=100,height=100,inSampleSize=2,那么就会将bitmap处理为,width=50,height=50,宽高降为1 / 2,像素数降为1 / 4。

 

 

3)inDither

这个值和抖动解码有关,默认值为false,表示不采用抖动解码。

表示这个bitmap的像素密度(对应的是DisplayMetrics中的densityDpi,不是density)。

请参看我另一篇文章:http://blog.csdn.net/haozipi/article/details/47185535

 

 

4)inTargetDensity

表示要被画出来时的目标像素密度(对应的是DisplayMetrics中的densityDpi,不是density)。

 

5)inScreenDensity

表示实际设备的像素密度(对应的是DisplayMetrics中的densityDpi,不是density)。

 

6)inScaled

设置这个Bitmap是否可以被缩放,默认值是true,表示可以被缩放。

 

ps:inDensity,inTargetDensity,inScreenDensity三个值的具体关系请参看我的另一篇文章:http://blog.csdn.net/haozipi/article/details/47185917

 

7)inPurgeableinInputShareable

这两个值一般是一起使用,设置为true时,前者表示空间不够是否可以被释放,后者表示是否可以共享引用。这两个值在Android5.0后被弃用。

 

8)inPreferQualityOverSpeed

这个值表示是否在解码时图片有更高的品质,仅用于JPEG格式。如果设置为true,则图片会有更高的品质,但是会解码速度会很慢。

 

9)outWidthoutHeight

表示这个Bitmap的宽和高,一般和inJustDecodeBounds一起使用来获得Bitmap的宽高,但是不加载到内存。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值