工具類(bitmap與drawable)

//bitmap轉換drawable
public Drawable bitmapToDrawable(Bitmap bitmap) {
  BitmapDrawable bd = new BitmapDrawable(getResources(),bitmap);
  return bd;
}
//drawable轉換成 bitmap
public static Bitmap drawableToBitmap(Drawable drawable) {
  // 取 drawable 的長寬
  int w = drawable.getIntrinsicWidth();
  int h = drawable.getIntrinsicHeight();

  // 取 drawable 的顏色格式
  Bitmap.Config config = drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888
      : Bitmap.Config.RGB_565;
  // 建立對應 bitmap
  Bitmap bitmap = Bitmap.createBitmap(w, h, config);
  // 建立對應 bitmap 的畫布
  Canvas canvas = new Canvas(bitmap);
  drawable.setBounds(0, 0, w, h);
  // 把 drawable 內容畫到畫布中
  drawable.draw(canvas);
  return bitmap;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章