1. 程式人生 > >Android 如何讀取本地圖片或者資源圖片並自定義大小

Android 如何讀取本地圖片或者資源圖片並自定義大小

摘要:將圖片資源設定到控制元件的src屬性並且要求全屏,且不丟失內容時,我們需要對原始的圖片進行處理,改變大小來適應螢幕,尤其是對包含虛擬鍵盤的Android裝置,需要手動增加圖片的高度來實現虛擬鍵盤消失時的全屏

讀取本地圖片並自定義大小

Resources res = getResources();
//savedPath為圖片路徑
Bitmap bitmap =BitmapFactory.decodeFile(savedPath);
//Bitmap bitmap = BitmapFactory.decodeResource(res,R.drawable.test);
//自定義圖片大小
Bitmap newBmp = Bitmap.createScaledBitmap(bitmap, width, height, true
); //將bitmap轉化為Drawable,這是新的方法,如果用過時的方法Drawable drawable = new BitmapDrawable(newBmp),則會造成圖片大小和原來圖片大小不符的情況,當然這種情況發生在沒有自定義大小的情況下 Drawable drawable = new BitmapDrawable(res,newBmp);

按比例放大或者縮小圖片

注:當圖片的長大於螢幕高度,寬小於螢幕寬度,並且要求全屏顯示時使用

Resources res = getResources();
DisplayMetrics metrics = getResources().getDisplayMetrics();
width = metrics.widthPixels;
//根據資源id獲取圖片
Bitmap bitmap = BitmapFactory.decodeResource(res,R.drawable.test); int bit_width = bitmap.getWidth(); int bit_height = bitmap.getHeight(); //計算高寬比 float p = (float) bit_height/bit_width; Bitmap newBmp = Bitmap.createScaledBitmap(bitmap, width,(int)(width*p), true); Drawable drawable = new BitmapDrawable(res,newBmp);