簡單談談Resource,Drawable和Bitmap之間的轉換
阿新 • • 發佈:2018-12-30
一直接觸這些東西,還是歸個類整理一下比較好。
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的長寬 intheight = 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();