android中bitmap用法補充

2021-07-11 16:17:42 字數 2336 閱讀 4429

android學習之位圖bitmap

bitmap代表一張位圖,副檔名可以是.bmp或者.dib。點陣圖是windows標準格式圖形檔案,它將影象定義為由點(畫素)組成,每個點可以由多種色彩表示,包括2、4、8、16、24和32位色彩。例如,一幅1024×768解析度的32位真彩,其所佔儲存位元組數為:1024×768×32/8=3072kb

位**件影象效果好,但是非壓縮格式的,需要占用較大儲存空間,不利於在網路上傳送。jpg格式則恰好彌補了位**件這個缺點。

在android系統當中,bitmap是影象處理最重要的類之一。用它可以獲取影象檔案資訊,進行影象剪下、旋轉、縮放等操作,並可以指定格式儲存影象檔案。

下面主要介紹bitmap的用法:

1.從資源檔案中獲取

1 bitmap rawbitmap = bitmapfactory.decoderesource(getresources(),r.drawable.img1);  

2.從sd卡中得到

複製**

1 (方法1) 

5 (方法2)

複製**

3.設定的圓角,返回設定後的bitmap

複製**

1     public bitmap toroundcorner(bitmap bitmap, int pixels)

複製**

4.將高寬和的大小kb壓縮

複製**

1         //得到原始的高寬

2         int rawheight = rawbitmap.getheight();

3         int rawwidth = rawbitmap.getwidth();

4         // 設定新的高寬

5         int newheight = 500;

6         int newwidth = 500;

7         // 計算縮放因子

8         float heightscale = ((float) newheight) / rawheight;

9         float widthscale = ((float) newwidth) / rawwidth;

10         // 新建立矩陣

11         matrix matrix = new matrix();

12         matrix.postscale(heightscale, widthscale);

13         // 設定的旋轉角度

14         // matrix.postrotate(-30);

15         // 設定的傾斜

16         // matrix.postskew(0.1f, 0.1f);

17         // 將大小壓縮

18         // 壓縮後的寬和高以及kb大小均會變化

19         bitmap newbitmap = bitmap.createbitmap(rawbitmap, 0, 0, rawwidth,

20                 rawwidth, matrix, true);

複製**

5.將bitmap轉換為drawable   drawable轉bitmap

1         drawable newbitmapdrawable = new bitmapdrawable(bitmap);

2         //如果要獲取bitmapdrawable中所包裝的bitmap物件,可以用getbitmap()方法;

3         bitmap  bitmap = newbitmapdrawable.getbitmap();

6.由於前面建立的bitmap所占用的記憶體還沒有**,而導致引發outofmemory錯誤,所以用下面方法判斷是否**。

1      if(!bitmap.isrecycled())

2          

Android中Bitmap大小計算

bitmap.config是bitmap中的乙個內部類,在bitmap類裡createbitmap intwidth,int height,bitmap.config config 方法裡會用到,開啟個這個類一看 public static final bitmap.config alpha 8 p...

Android中Bitmap的獲取方法

獲取bitmap的幾種方式總結 從獲取方式分 1 以檔案流的方式 假設在sdcard下有 test.png fileinputstream fis new fileinputstream sdcard test.png bitmap bitmap bitmapfactory.decodestream...

android記憶體優化 Bitmap

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