我已經有了一個Bitmaps的負載,我現在試圖根據屏幕大小來縮放,我這樣做的方式是將當前設備屏幕大小除以我的測試手機大小,因爲所有圖像是根據該屏幕製作的。Android postScale不按比例縮放
我使用的函數是下面
public Bitmap resizeBitmap(Bitmap b){
int width = b.getWidth();
int height = b.getHeight();
Matrix max = new Matrix();
max.postScale(Vars.screenWidthMulti, Vars.screenHeightMulti);
Bitmap resizedBitmap = Bitmap.createBitmap(b, 0, 0, width, height, max, false);
return resizedBitmap;
}
screenWidthMulti和screenHeightMulti是通過將當前的屏幕尺寸與浮點值變得相同我的測試設備屏幕。現在這部分工作正常。 如果我使用1024/552屏幕尺寸的設備,我的設備是960/540,我得到的縮放值是1.06666667,寬度是1.02222223,高度是1.02222223。
現在的問題是,當我postScale它與這些值不符合我的預期。例如,放入與我的測試設備大小相同的背景圖像,然後輸出的位圖大小爲683乘368,這對我來說沒有任何意義!我已經嘗試過preScale和setScale,但是這並不會改變。
有沒有其他的方式可能會更容易,實際工作還是隻是我不明白這一點?
編輯:我試着在setScale中放入一個2f的值,結果很奇怪,540 * 2竟然是720,我無法得到我的頭。
我現在測試它,即使絲毫沒有改變。感謝您盡力幫助。 –