L迁客

技术博客
随笔 - 1, 文章 - 12, 评论 - 1, 引用 - 0
数据加载中……

drawable转bitmap

-------------------------------------------------------------
//一、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   } 

 

posted on 2013-02-24 16:43 L迁客 阅读(546) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: