1. 程式人生 > >android等比例縮放圖片

android等比例縮放圖片



// 縮放圖片
public static Bitmap zoomImg(String img, int newWidth ,int newHeight){
// 圖片源
   Bitmap bm = BitmapFactory.decodeFile(img);
   if(null!=bm){
   return zoomImg(bm,newWidth,newHeight);
   }
   return null;
}

public static Bitmap zoomImg(Context context,String img, int newWidth ,int newHeight){
// 圖片源
try {
Bitmap bm = BitmapFactory.decodeStream(context.getAssets()
.open(img));
if (null != bm) {
return zoomImg(bm, newWidth, newHeight);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
// 縮放圖片
public static Bitmap zoomImg(Bitmap bm, int newWidth ,int newHeight){
   // 獲得圖片的寬高
   int width = bm.getWidth();
   int height = bm.getHeight();
   // 計算縮放比例
   float scaleWidth = ((float) newWidth) / width;
   float scaleHeight = ((float) newHeight) / height;
   // 取得想要縮放的matrix引數
   Matrix matrix = new Matrix();
   matrix.postScale(scaleWidth, scaleHeight);
   // 得到新的圖片
   Bitmap newbm = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, true);
    return newbm;
}