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

    技术2025-06-20  7

    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.

    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)