android 建立bitmap的多種方式

2021-07-01 23:53:11 字數 2376 閱讀 6568

–bitmap代表這一張位圖,bitmapdrawable裡封裝的就是乙個bitmap物件。如果要將bitmap物件封裝成bitmapdrawable物件只需要用構造方法即可。

//講bitmap物件包裝成bitmapdrawable物件

bitmapdrawable drawable = new bitmapdrawable(bitmap);

//將bitmapdrawable物件轉換為bitmap

bitmap bitmap = drawable.getbitmap();

bitmap物件提供了一系列靜態方法來建立新的bitmap物件

•createbitmap(bitmap source, int x, int y, int width, int height):從原位圖中指定座標點(x,y)開始,從中挖取寬width、高height的一塊出來,建立新的bitmap物件。

•createscaledbitmap(bitmap source, int dstwidth, int dstheight, boolean filter):對源點陣圖進行縮放,縮放成指定width、height大小的新位圖物件。

•createbitmap(int width, int height, bitmap.config config):建立乙個寬width、高height的新位圖。

•createbitmap(bitmap source, int x, int y, int width, int height, matrix matrix, boolean filter):從原位圖中指定座標點(x,y)開始,從中挖取寬width、高height的一塊出來,建立新的bitmap物件。並按matrix指定的規則進行變換。

bitmapfactory是乙個工具類,它提供了大量的方法來用於從不同的資料來源來解析、建立bitmap物件。包含了如下方法

•decodebytearray(byte data, int offset, int length):從指定的位元組陣列的offset位置開始,將長度為length的位元組資料解析成bitmap物件。

•decodefile(string pathname):從pathname指定的檔案中解析、建立bitmap物件。

•decodefiledescriptor(filedescriptor fd):從filedescriptor對應的檔案中解析、建立bitmap物件。

•decoderesource(resources res, int id):根據給定的資源id從指定資源中解析、建立bitmap物件。

•decodestream(inputstream is):從指定的輸入流中解析、建立bitmap物件。

如:獲取本地建立bitmap:

此外附加學習:

android 獲取資源檔案 r.drawable中的轉換為drawable、bitmap1、

resources resources = mcontext.getresources();

drawable drawable = resources.getdrawable(r.drawable.a);

imageview.setbackground(drawable);

2、resources r = this.getcontext().getresources();

inputstream is = r.openrawresource(r.drawable.my_background_image);

bitmapdrawable  bmpdraw = new bitmapdrawable(is);

bitmap bmp = bmpdraw.getbitmap();

3、bitmap bmp=bitmapfactory.decoderesource(r, r.drawable.icon);

bitmap newb = bitmap.createbitmap( 300, 300, config.argb_8888 ); 

4、inputstream is = getresources().openrawresource(r.drawable.icon);  

bitmap mbitmap = bitmapfactory.decodestream(is);

**儲存學習記錄

Android 不同版本下Bitmap建立差異

1.問題描述 乙個雪花效果,在android4.0以下系統正常執行,但是在android4.1上異常退出。2.問題定位 看一段 private bitmap mflakeimage null private bitmap mflakeimagetemp null mflakeimagetemp bi...

android記憶體優化 Bitmap

眾說周知在android開發中bitmap是吃記憶體的大戶,所以談到android記憶體優化首先得對bitmap進行優化 優化方法主要有 1 對於無用的bitmap要及時進行 釋放bitmap的方法 if bitmap null bitmap.isrecycled bitmap.recycle 方法...

Android 儲存bitmap到相簿

安卓原生的儲存相簿方法可以用但是可調引數很少,對三星這樣的手機支援不好,的建立時間一般為1970.1.1,可以通過複寫android原生的方法來新增相關引數,比如 建立時間和gps位置資訊什麼的 下面是儲存到相簿用的函式 insert an image and create a thumbnail ...