Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> 安卓開發中Bitmap/Drawable/byte[]互換

安卓開發中Bitmap/Drawable/byte[]互換

編輯:Android開發實例

  在網上搜了一些其它的方法,在這裡分享下

  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)

  {

  Config config;

  if (drawable.getOpacity() != PixelFormat.OPAQUE)

  {

  config = Bitmap.Config.ARGB_8888;

  }

  else

  {

  config = Bitmap.Config.RGB_565;

  }

  Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(),

  rawable.getIntrinsicHeight(),config);

  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;

  }

  }

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved