Android graphics之Bitmap
#本文以Android api 22为基准
在android.graphics.PixelFormat中定义了如下几种(不含deprecated的)RGB格式:
名称值含义
RGBA_88881透明通道和三个颜色通道都是8,可表达的色彩值最广,这是使用最广泛的格式
RGBX_88882与RGBA_8888类似不过,透明通道的值永远为255
RGB_8883只有三个颜色通道,存储空间相对前两个较小。
Bitmap代表了解码后图片,可用于直接的绘制,Bitmap与一个native层的bitmap对应,使用完后,需要调用recyle函数回收native内存。
android.graphics.Bitmap类代表了java层可绘制实体的最后一步。从一整个页面,到某个view,在到drawable,最后都会汇集到Bitmap。
对于任何一个view来说,在onDraw()回调中,canvas都已经与一个bitmap绑定。
Bitmap类提供了对像素点操作的一些基本接口。
对于开发者来说,关于Bitmap需要的做得事情有,创建Bitmap,操作像素,压缩存储,序列化/反序列化等。
需要自己创建Bitmap时,有两种情况,一种是全新创建,另外一种是加载已有的图片。
对于第一种,可使用Bitmap.createBitmap(...)函数创建,然后使用Bitmap类的像素操作接口填充像素,或者结合Canvas进行更高级的绘制。
对于后一种,图片的来源无非是这几种&