Android中Bitmap、Drawable、byte[]转换

来源:互联网 发布:中华商务网数据录入 编辑:程序博客网 时间:2024/06/10 08:50
1.Drawable—>Bitmap


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


2.Bitmap---->Drawable


Drawable drawable =new BitmapDrawable(bmp);


另外在网上搜了些,也不知到底谁是原创的


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;


                    }


          }
原创粉丝点击