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

    技术2026-01-02  1

    android在处理一写图片资源的时候,会进行一些类型的转换,现在有空整理一下: 1、Drawable → Bitmap 的简单方法 ((BitmapDrawable)res.getDrawable(R.drawable.youricon)).getBitmap(); 2、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;   }   3.Bitmap→Drawable   的简单方法 BitmapDrawable bitmapDrawable = (BitmapDrawable)bitmap;      Drawable drawable = (Drawable)bitmapDrawable;              Bitmap bitmap = new Bitmap (...);      Drawable drawable = new BitmapDrawable(bitmap);    3、从资源中获取Bitmap Java代码 Resources res=getResources();      Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic);   4、Bitmap → byte[] Java代码 private byte[] Bitmap2Bytes(Bitmap bm){       ByteArrayOutputStream baos = new ByteArrayOutputStream();         bm.compress(Bitmap.CompressFormat.PNG, 100, baos);         return baos.toByteArray();   }   5、 byte[] → Bitmap Java代码 private Bitmap Bytes2Bimap(byte[] b){               if(b.length!=0){                   return BitmapFactory.decodeByteArray(b, 0, b.length);               }               else {                   return null;               }         }

    最新回复(0)