Drawable、Bitmap、byte[]之间的转换

来源:互联网 发布:淘宝企业店铺扣点吗 编辑:程序博客网 时间:2024/05/18 04:58

1、Drawable → Bitmap
Java代码  收藏代码

    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

 
Java代码  收藏代码

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

 

3、Bitmap → byte[]

 
Java代码  收藏代码

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

 
4、 byte[] → Bitmap
Java代码  收藏代码

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