-------------------------------------------------------------
//一、drawable---->bitmap
-------------------------------------------------------------
1 public static Bitmap drawableToBitmap(Drawable drawable) {
2 Bitmap bitmap = Bitmap
3 .createBitmap(
4 drawable.getIntrinsicWidth(),
5 drawable.getIntrinsicHeight(),
6 drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888
7 : Bitmap.Config.RGB_565); Canvas canvas = new Canvas(bitmap);
8 //canvas.setBitmap(bitmap);
9 drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
10 drawable.draw(canvas);
11 return bitmap;
12 }
-------------------------------------------------------------
//二、从资源中获取Bitmap:drawable---->bitmap
-------------------------------------------------------------
1 Resources res=getResources();
2 Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic);
3 //或者这种方法也行,这两种方法都一样
4 Bitmap bmp = ((BitmapDrawable)this.getResources.getDrawable(R.drawable.pic)).getBitmap();
-------------------------------------------------------------
//三、bitmap---->drawable
-------------------------------------------------------------
1 /**
2 * Bitmap转化为drawable
3 * @param bitmap
4 * @return
5 */
6 public static Drawable bitmap2Drawable(Bitmap bitmap){
7 return new BitmapDrawable(bitmap) ;
8 }
-------------------------------------------------------------
//四、bitmap---->byte[]
-------------------------------------------------------------
1 private byte[] Bitmap2Bytes(Bitmap bm){
2 ByteArrayOutputStream baos = new ByteArrayOutputStream();
3 bm.compress(Bitmap.CompressFormat.PNG, 100, baos);
4 return baos.toByteArray();
5 }
-------------------------------------------------------------
//五、byte[]---->bitmap
-------------------------------------------------------------
1 private Bitmap Bytes2Bimap(byte[] b){
2 if(b.length!=0){
3 return BitmapFactory.decodeByteArray(b, 0, b.length);
4 }
5 else {
6 return null;
7 }
8 }