读书人

Android Drawable、Bit地图、byte[]之

发布时间: 2012-09-20 09:36:50 作者: rapoo

Android Drawable、Bitmap、byte[]之间的转换
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;  }  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);  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();  }  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;  }  }  private Bitmap Bytes2Bimap(byte[] b){  if(b.length!=0){  return BitmapFactory.decodeByteArray(b, 0, b.length);  }  else {  return null;  }  }

读书人网 >Android

热点推荐