BitmapFactory.Options介紹(轉(zhuǎn))

Android中BitmapFactory.Options詳解

在Android中,BitmapFactory相信大家都很熟悉了,這個(gè)類里面的所有方法都是用來(lái)解碼創(chuàng)建一個(gè)Bitmap,其中有一個(gè)重要的類是Options,此類用于解碼Bitmap時(shí)的各種參數(shù)控制,那這里面的各種參數(shù)都是什么含義呢?今天我們就來(lái)重點(diǎn)解讀幾個(gè)參數(shù)。

inJustDecodeBounds:

如果將這個(gè)值置為true,那么在解碼的時(shí)候?qū)⒉粫?huì)返回bitmap,只會(huì)返回這個(gè)bitmap的尺寸。這個(gè)屬性的目的是,如果你只想知道一個(gè)bitmap的尺寸,但又不想將其加載到內(nèi)存時(shí)。這是一個(gè)非常有用的屬性。

inSampleSize:

這個(gè)值是一個(gè)int,當(dāng)它小于1的時(shí)候,將會(huì)被當(dāng)做1處理,如果大于1,那么就會(huì)按照比例(1 / inSampleSize)縮小bitmap的寬和高、降低分辨率,大于1時(shí)這個(gè)值將會(huì)被處置為2的倍數(shù)。例如,width=100,height=100,inSampleSize=2,那么就會(huì)將bitmap處理為,width=50,height=50,寬高降為1 / 2,像素?cái)?shù)降為1 / 4。

inPreferredConfig:

這個(gè)值是設(shè)置色彩模式,默認(rèn)值是ARGB_8888,在這個(gè)模式下,一個(gè)像素點(diǎn)占用4bytes空間,一般對(duì)透明度不做要求的話,一般采用RGB_565模式,這個(gè)模式下一個(gè)像素點(diǎn)占用2bytes。

inPremultiplied:

這個(gè)值和透明度通道有關(guān),默認(rèn)值是true,如果設(shè)置為true,則返回的bitmap的顏色通道上會(huì)預(yù)先附加上透明度通道。

inDither:

這個(gè)值和抖動(dòng)解碼有關(guān),默認(rèn)值為false,表示不采用抖動(dòng)解碼。如果想知道什么是抖動(dòng)解碼,請(qǐng)參看我另一篇文章:http://blog.csdn.net/haozipi/article/details/47185535

inDensity:

表示這個(gè)bitmap的像素密度(對(duì)應(yīng)的是DisplayMetrics中的densityDpi,不是density)。

inTargetDensity:

表示要被畫(huà)出來(lái)時(shí)的目標(biāo)像素密度(對(duì)應(yīng)的是DisplayMetrics中的densityDpi,不是density)。

inScreenDensity:

表示實(shí)際設(shè)備的像素密度(對(duì)應(yīng)的是DisplayMetrics中的densityDpi,不是density)。

inScaled:

設(shè)置這個(gè)Bitmap是否可以被縮放,默認(rèn)值是true,表示可以被縮放。

ps:inDensity,inTargetDensity,inScreenDensity三個(gè)值的具體關(guān)系請(qǐng)參看我的另一篇文章:http://blog.csdn.net/haozipi/article/details/47185917

inPurgeable和inInputShareable:

這兩個(gè)值一般是一起使用,設(shè)置為true時(shí),前者表示空間不夠是否可以被釋放,后者表示是否可以共享引用。這兩個(gè)值在Android5.0后被棄用。

inPreferQualityOverSpeed:

這個(gè)值表示是否在解碼時(shí)圖片有更高的品質(zhì),僅用于JPEG格式。如果設(shè)置為true,則圖片會(huì)有更高的品質(zhì),但是會(huì)解碼速度會(huì)很慢。

outWidth和outHeight:

表示這個(gè)Bitmap的寬和高,一般和inJustDecodeBounds一起使用來(lái)獲得Bitmap的寬高,但是不加載到內(nèi)存。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容