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);  
        drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());  
        drawable.draw(canvas);  
        return bitmap;  
}

从资源中获取Bitmap

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

Bitmap → byte[]

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

byte[] → Bitmap

private Bitmap bytesToBimap(byte[] b)
{  
   if(b.length!=0)
   {  
       return BitmapFactory.decodeByteArray(b, 0, b.length);  
   }  
   else 
   {  
       return null;  
   }  
} 
posted on 2011-10-25 10:33  情定诺坎普  阅读(206)  评论(0编辑  收藏  举报