Android中的Bmp图形格式(ALPHA_8,ARGB_4444,ARGB_8888,RGB_565)

android.graphics.Bitmap.Config是一个枚举类型,里面定义了位图的四种格式.起初有点奇怪,网上查了一下,大概指定了类型名字怪怪的缘由.

    从名字中可以看出:

    ALPHA_8:数字为8,图形参数应该由一个字节来表示,应该是一种8位的位图

    ARGB_4444:4+4+4+4=16,图形的参数应该由两个字节来表示,应该是一种16位的位图.

    ARGB_8888:8+8+8+8=32,图形的参数应该由四个字节来表示,应该是一种32位的位图.

    RGB_565:5+6+5=16,图形的参数应该由两个字节来表示,应该是一种16位的位图.

 

    网上讲,ALPHA_8,ARGB_4444,ARGB_8888都是透明的位图,也就是所字母A代表透明.

    ARGB_4444:意味着有四个参数,即A,R,G,B,每一个参数由4bit表示.

    同理:

    ARGB_8888:意味着有四个参数,即A,R,G,B,每一个参数由8bit来表示.

    同理:

    RGB_565:意味着有三个参数,R,G,B,三个参数分别占5bit,6bit,5bit.

    我想一定该存在其他格式的BMP文件,但每个参数的值之和必须是8的整数倍,应该是这个规律.

ARGB_4444 vs RGB_565:

They take the same amount of memory. (See those numbers? They tell you the number of bits for each component (A, R, G, B). Add them up to get the total bits per pixel.)

If you don't need the transparency, though, of those two i'd recommend RGB_565 as it gives you more distinct colors. ARGB_4444 sacrifices some of its color depth in order to provide transparency.


posted @ 2012-11-26 13:50  sfshine  阅读(479)  评论(0编辑  收藏  举报