1. 程式人生 > >簡單談談Resource,Drawable和Bitmap之間的轉換

簡單談談Resource,Drawable和Bitmap之間的轉換

一直接觸這些東西,還是歸個類整理一下比較好。

Resource -> Drawable

Drawable draw1 = this.getResources().getDrawable(R.drawable.icon);

Drawable -> Bitmap

1.

static Bitmap drawableToBitmap(Drawable drawable) // drawable 轉換成bitmap  
{  
    int width = drawable.getIntrinsicWidth();// 取drawable的長寬  
    int
height = drawable.getIntrinsicHeight(); Bitmap.Config config = drawable.getOpacity() != PixelFormat.OPAQUE ?Bitmap.Config.ARGB_8888:Bitmap.Config.RGB_565;// 取drawable的顏色格式 Bitmap bitmap = Bitmap.createBitmap(width, height, config);// 建立對應bitmap Canvas canvas = new Canvas(bitmap);// 建立對應bitmap的畫布
drawable.setBounds(0, 0, width, height); drawable.draw(canvas);// 把drawable內容畫到畫布中 return bitmap; }

2.

Bitmap bitmap = ((android.graphics.drawable.BitmapDrawable) pm.getApplicationIcon(appInfo)).getBitmap();