android bitmap壓縮幾種色彩詳解

2021-07-08 13:52:17 字數 999 閱讀 2168

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點陣圖

位圖位數越高代表其可以儲存的顏色資訊越多,當然影象也就越逼真。

例子:bitmap bg = bitmap.createbitmap(width, height, config.argb_8888);

android bitmap壓縮幾種色彩詳解

android中的大一般都要經過壓縮才顯示,不然容易發生oom,一般我們壓縮的時候都只關注其尺寸方面的大小,其實除了尺寸之外,影響乙個占用空間的還有其色彩細節。開啟android.graphics.bitmap類裡有乙個內部類bitmap.config類,在bitmap類裡createbitmap ...

android bitmap記憶體處理

程式中一次性載入多張,而且還要適應螢幕,這就造成記憶體緊張,程序會出現oom,特別是現在的手機解析度高達1920 1024,一張占用記憶體高達8m,首先要獲取原的高寬 減少記憶體 bitmapfactory.options options new bitmapfactory.options opti...

Android Bitmap應用收集

bitmap代表一張位圖,副檔名可以是.bmp或者.dib。點陣圖是windows標準格式圖形檔案,它將影象定義為由點 畫素 組成,每個點可以由多種色彩表示,包括2 4 8 16 24和32位色彩。例如,一幅1024 768解析度的32位真彩,其所佔儲存位元組數為 1024 768 32 8 307...