Android圖片壓縮質量引數Bitmap.Config RGB_565、 ARGB_8888的含義及用法
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點陣圖
點陣圖位數越高代表其可以儲存的顏色資訊越多,當然影象也就越逼真。
使用RGB_565會比使用ARGB_8888少消耗2倍的記憶體,很多時候預設是ARGB_8888,所以我們需要主動設定為RGB_565.
用法:
在壓縮之前將option的值設定一下:
1
|
options.inPreferredConfig
= Bitmap.Config.RGB_565; |
相關文章
- Android微信分享圖片按質量壓縮的解決方案Android
- iOS開發中壓縮圖片的質量以及縮小圖片尺寸iOS
- Python 中 key 引數的含義及用法Python
- Python中key引數的含義及用法Python
- JPEG的量化引數QP如何影響壓縮質量
- android下圖片壓縮Android
- Android壓縮圖片後再上傳圖片Android
- 前端圖片壓縮及上傳前端
- android bitmap(一) ARGB_8888/RGB_565Android
- Android 載入大圖片,不壓縮圖片Android
- Android圖片壓縮實現過程及程式碼Android
- 5 步!用阿里雲 Serverless 搭建高質量的圖片壓縮工具阿里Server
- Android 中圖片壓縮分析(上)Android
- android 比較靠譜的圖片壓縮Android
- 前端圖片壓縮 - H5&Uni-App圖片壓縮前端H5APP
- ??圖片壓縮CanvasCanvas
- IOS圖片壓縮iOS
- canvas 壓縮圖片Canvas
- 簡單實用的android 圖片的壓縮Android
- android圖片壓縮不失真實戰Android
- 淺談Flutter web 圖片選擇器及圖片壓縮FlutterWeb
- Nginx網路壓縮 CSS壓縮 圖片壓縮 JSON壓縮NginxCSSJSON
- Promise含義及基本用法Promise
- 前端的圖片壓縮image-compressor(可在圖片上傳前實現圖片壓縮)前端
- Android-壓縮大圖到容量超小的圖片Android
- 圖片壓縮知識梳理(0) 圖片壓縮學習計劃
- Android-圖片壓縮(二)-純乾貨Android
- 仿寫一個android圖片壓縮工具Android
- Android 圖片壓縮方法分析與學習Android
- iOS 圖片壓縮方法iOS
- 前端圖片壓縮方案前端
- 圖片壓縮怎樣操作?分享幾種實用的批次圖片壓縮技巧
- Bitmap的圖片壓縮彙總
- Linux上shmmax引數的設定及含義LinuxHMM
- 很實用的android壓縮圖片的演算法Android演算法
- 圖片壓縮不求人,3個親測實用高效的圖片壓縮神器
- excel檔案裡的圖片怎麼壓縮?excel檔案裡圖片的壓縮方法Excel
- 淺談移動端圖片壓縮(iOS & Android)iOSAndroid