[1].[代码] [Java]代码 跳至 [1]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
private
int
computeScale(BitmapFactory.Options options,
int
viewWidth,
int
viewHeight){
int
inSampleSize =
1
;
if
(viewWidth ==
0
|| viewWidth ==
0
){
return
inSampleSize;
}
int
bitmapWidth = options.outWidth;
int
bitmapHeight = options.outHeight;
//假如Bitmap的宽度或高度大于我们设定图片的View的宽高,则计算缩放比例
if
(bitmapWidth > viewWidth || bitmapHeight > viewWidth){
int
widthScale = Math.round((
float
) bitmapWidth / (
float
) viewWidth);
int
heightScale = Math.round((
float
) bitmapHeight / (
float
) viewWidth);
//为了保证图片不缩放变形,我们取宽高比例最小的那个
inSampleSize = widthScale < heightScale ? widthScale : heightScale;
}
return
inSampleSize;
}
|