android 笔记 --- Bitmap与Drawable转换

android在处理一写图片资源的时候,会进行一些类型的转换,现在有空整理一下:
1、Drawable → Bitmap

public   static  Bitmap drawableToBitmap(Drawable drawable) {   
 
        Bitmap bitmap = Bitmap   
                        .createBitmap(   
                                        drawable.getIntrinsicWidth(),   
                                        drawable.getIntrinsicHeight(),   
                                        drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888   
                                                        : Bitmap.Config.RGB_565);   
        Canvas canvas =  new  Canvas(bitmap);   
         //canvas.setBitmap(bitmap);   
        drawable.setBounds( 0 ,  0 , drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());   
        drawable.draw(canvas);   
         return  bitmap;   
}


2、从资源中获取Bitmap

Resources res=getResources();   
 
Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic);


3、Bitmap → byte[]
private   byte [] Bitmap2Bytes(Bitmap bm){   
    ByteArrayOutputStream baos =  new  ByteArrayOutputStream();     
    bm.compress(Bitmap.CompressFormat.PNG,  100 , baos);     
     return  baos.toByteArray();   
   }


4、 byte[] → Bitmap
private  Bitmap Bytes2Bimap( byte [] b){   
             if (b.length!= 0 ){   
                 return  BitmapFactory.decodeByteArray(b,  0 , b.length);   
            }   
             else  {   
                 return   null ;   
            }   
      }



你可能感兴趣的:(java,android)