android图片压缩质量参数Bitmap.Config RGB_565等的含义

来源:互联网 发布:eve目标证据数据 编辑:程序博客网 时间:2024/04/30 04:12

在实用ImageLoader中,在配置DisplayImageOptions时,需要设置.bitmapConfig(Bitmap.Config.RGB_565)

那么这个 Bitmap.Config.RGB_565 是什么意思呢 ?


在android中的大图片一般都要经过压缩才能显示,不然容易发生oom,一般我们压缩的时候都只关注其尺寸方面的大小,其实除了尺寸之外,影响一个图片占用空间的还有其色彩细节


打开Android.graphics.Bitmap类里有一个内部类Bitmap.Config类,在Bitmap类里createBitmap(intwidth, int height, Bitmap.Config config)方法里会用到,打开个这个类一看

枚举变量
[java] view plaincopyprint?
  1. public static final Bitmap.Config ALPHA_8  
  2. public static final Bitmap.Config ARGB_4444  
  3. public static final Bitmap.Config ARGB_8888  
  4. 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的值设置一下:

[java] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. options.inPreferredConfig = Bitmap.Config.RGB_565;  
0 0
原创粉丝点击