第一種方法 Java代碼
- //得到Resources對象
- Resources r = this.getContext().getResources();
- //以資料流的方式讀取資源
- Inputstream is = r.openRawResource(R.drawable.my_background_image);
- BitmapDrawable bmpDraw = new BitmapDrawable(is);
- Bitmap bmp = bmpDraw.getBitmap();
//得到Resources對象Resources r = this.getContext().getResources();//以資料流的方式讀取資源Inputstream is = r.openRawResource(R.drawable.my_background_image);BitmapDrawable bmpDraw = new BitmapDrawable(is);Bitmap bmp = bmpDraw.getBitmap();
第二種方法這種方法是通過BitmapFactory這個工具類,BitmapFactory的所有函數都是static,這個輔助類可以通過資源ID、路徑、檔案、資料流等方式來擷取位元影像。大家可以開啟API 看一下裡邊全是靜態方法。這個類裡邊有一個叫做 decodeStream(InputStream is)
此方法可以 解碼一個新的位元影像從一個InputStream。這是獲得資源的InputStream。
代碼: Java代碼
- InputStream is = getResources().openRawResource(R.drawable.icon);
- Bitmap mBitmap = BitmapFactory.decodeStream(is);
- Paint mPaint = new Paint();
- canvas.drawBitmap(mBitmap, 40,
40, mPaint);
InputStream is = getResources().openRawResource(R.drawable.icon); Bitmap mBitmap = BitmapFactory.decodeStream(is); Paint mPaint = new Paint(); canvas.drawBitmap(mBitmap, 40, 40, mPaint);
顯然第二種方法簡單很多了。