转自:http://www.cnblogs.com/coding-way/archive/2011/07/26/2117522.html
Bitmap.Config ALPHA_8
Bitmap.Config ARGB_4444
Bitmap.Config ARGB_8888
Bitmap.Config RGB_565
A R G B
透明度 红色 绿色 蓝色
Bitmap.Config ARGB_4444 16 每个像素 占四位
Bitmap.Config ARGB_8888 32 每个像素 占八位
Bitmap.Config RGB_565 16 R占5位 G占6位 B占5位 没有透明度(A)
使用示例:
Bitmap.createBitmap(width, height, Bitmap.Config.ALPHA_8);
Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_4444);
Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
上面四个函数返回一个可改变的Bitmap对象。
假如我们使用Bitmap.Config.ARGB_8888
protected void onDraw(Canvas canvas) {
Bitmap bitmap = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
//c.draw...(),通过c可以改变bitmap
canvas.draw(bitmap, null, null);//最后在把bitmap画到canvas上
super.onDraw(canvas);
}
参见:
http://developer.android.com/reference/android/graphics/Bitmap.html#createBitmap(int, int, android.graphics.Bitmap.Config)一般情况下我们都是用argb888 但是无可厚非 它也相对的很占内存因为一个像素32位 8位一个字节 如果是800*480的图片的话自己算 估计有1M多了