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 方法...