android中的大圖片一般都要經(jīng)過壓縮才顯示,不然容易發(fā)生oom,一般我們壓縮的時候都只關(guān)注其尺寸方面的大小,其實除了尺寸之外,影響一個圖片占用空間的還有其色彩細(xì)節(jié)。打開Android.graphics.Bitmap類里有一個內(nèi)部類Bitmap.Config類,在Bitmap類里createBitmap(intwidth, int height, Bitmap.Config config)方法里會用到,打開個這個類一看枚舉變量public static final Bitmap.Config ALPHA_8public static final Bitmap.Config ARGB_4444public static final Bitmap.Config ARGB_8888public static final Bitmap.Config RGB_565一看,有點蒙了,ALPHA_8, ARGB_4444,ARGB_8888,RGB_565 到底是什么呢?其實這都是色彩的存儲方法:我們知道ARGB指的是一種色彩模式,里面A代表Alpha,R表示red,G表示green,B表示blue,其實所有的可見色都是右紅綠藍(lán)組成的,所以紅綠藍(lán)又稱為三原色,每個原色都存儲著所表示顏色的信息值說白了就ALPHA_8就是Alpha由8位組成ARGB_4444就是由4個4位組成即16位,ARGB_8888就是由4個8位組成即32位,RGB_565就是R為5位,G為6位,B為5位共16位由此可見:ALPHA_8 代表8位Alpha位圖ARGB_4444 代表16位ARGB位圖ARGB_8888 代表32位ARGB位圖RGB_565 代表8位RGB位圖位圖位數(shù)越高代表其可以存儲的顏色信息越多,當(dāng)然圖像也就越逼真。用法:在壓縮之前將option的值設(shè)置一下:1? ?options.inPreferredConfig = Bitmap.Config.RGB_565;? ?
android圖片壓縮質(zhì)量參數(shù)Bitmap.Config RGB_565 ARGB_8888
慕課網(wǎng)android學(xué)習(xí)小組
2015-03-09 10:42:30