android 圖片 色彩 Bitmap.Config RGB_565 ARGB_8888

------------------------------------------------------------------------------------------------------------------------------------------

*本文主要摘錄自:android圖片壓縮質量參數Bitmap.Config RGB_565 ARGB_8888

*http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1023/1825.html

------------------------------------------------------------------------------------------------------------------------------------------

android中的大圖片一般都要經過壓縮才顯示,不然容易發生oom,一般我們壓縮的時候都只關注其尺寸方面的大小,其實除了尺寸之外,影響一個圖片佔用空間的還有其色彩細節。

打開Android.graphics.Bitmap類裏有一個內部類Bitmap.Config類,在Bitmap類裏createBitmap(intwidth, int height, Bitmap.Config config)方法裏會用到,打開個這個類一看

枚舉變量
public static final Bitmap.Config ALPHA_8
public static final Bitmap.Config ARGB_4444
public static final Bitmap.Config ARGB_8888
public static final Bitmap.Config RGB_565

一看,有點蒙了,ALPHA_8, ARGB_4444,ARGB_8888,RGB_565 到底是什麼呢?

其實這都是色彩的存儲方法:我們知道ARGB指的是一種色彩模式,裏面A代表Alpha,R表示red,G表示green,B表示blue,其實所有的可見色都是右紅綠藍組成的,所以紅綠藍又稱爲三原色,每個原色都存儲着所表示顏色的信息值

說白了就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位圖

位圖位數越高代表其可以存儲的顏色信息越多,當然圖像也就越逼真。

用法:

在壓縮之前將option的值設置一下:

options.inPreferredConfig = Bitmap.Config.RGB_565;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章