我在'developer.android.com'上看到縮小我的位圖文件,我發現一件事我不明白。所以我感謝你給我一點幫助。android - calculateInSampleSize,爲什麼Math.round在width> height時處理height(height/reqHeight)?
這裏有一個snippet從developer.android.com
public static int calculateInSampleSize(
BitmapFactory.Options options, int reqWidth, int reqHeight) {
// Raw height and width of image
final int height = options.outHeight;
final int width = options.outWidth;
int inSampleSize = 1;
if (height > reqHeight || width > reqWidth) {
if (width > height) {
inSampleSize = Math.round((float)height/(float)reqHeight);
} else {
inSampleSize = Math.round((float)width/(float)reqWidth);
}
}
return inSampleSize;
}
在if語句
,當 「如果(寬度>高度)」 爲什麼他們計算 「(浮動)的高度/(浮動)reqHeight」?
例如,width = 600,height = 800,reqWidth = 100,reqHeight = 100。
在這種情況下,inSampleSize爲6,計算的維數爲width = 100,height = 133。身高仍然高於reqHeight ..
所以,任何人都可以解釋我這件事嗎?對不起,複雜的解釋,但 我希望有人給我一個想法。 :)
Thx!所以他們的邏輯似乎是錯誤的。 – user1874389