2016-02-08 148 views
1

我想將位圖圖像調整爲512px,512px。我使用下面的代碼,但是當我的圖像重新調整其非常糟糕的高寬比時會受到影響。如何我可以調整我的圖像沒有高寬比?第二個圖像調整大小與電腦到512px。 enter image description here enter image description here調整無縱橫比的圖像

public Bitmap getResizedBitmap(Bitmap bm, int newHeight, int newWidth) { 
     int width = bm.getWidth(); 
     int height = bm.getHeight(); 
     float scaleWidth = ((float) newWidth)/width; 
     float scaleHeight = ((float) newHeight)/height; 
     Matrix matrix = new Matrix(); 
     matrix.postScale(scaleWidth, scaleHeight); 
     Bitmap resizedBitmap = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, false); 
     return resizedBitmap; 
    } 
+1

這不是Java代碼,它的JavaScript。但公式就是你要找的:http://dpoisn.com/demos/aspectratio.php檢查該頁面上的代碼。 – durbnpoisn

回答

2

,你可以使用這個調整你的位圖。

Bitmap yourBitmap; 
Bitmap resized = Bitmap.createScaledBitmap(yourBitmap, newWidth, newHeight, true); 

或:

resized = Bitmap.createScaledBitmap(yourBitmap,(int)(yourBitmap.getWidth()*0.8), (int)(yourBitmap.getHeight()*0.8), true);