Drawable,Bitmap,byte[]的相互转换

来源:互联网 发布:ppsspp源码 编辑:程序博客网 时间:2024/06/06 02:31

这是我从ITeye技术论坛上转来的,原址在这里:点击打开链接

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;    }  }



0 0