一、图片缩放的计算方法
int mScreenWidth; // 屏幕宽度
int mScreenHeight; // 屏幕高度
int mImageWidth; // 图片宽度
int mImgaeHeight; // 屏幕高度
float imgRatio = (float)mImageWidth / (float) mImgaeHeight;
float screenRatio = (float)mScreenWidth / (float) mScreenHeight;
1.1 图片压缩
目的:让图片等比压缩到屏幕内,尽量不让图片尺寸超出屏幕,如果图片剪裁
if (imgRatio < maxRatio) {
// 实际图片宽高比小于最大尺寸宽高比时,说明图片细长,期望图片高度设置为最大高度,宽度等比压缩;
// 含义同两者的高度比数值小,图片以高度比为基准等比压缩
imgRatio = maxHeight / actualHeight;
actualWidth = (int) (imgRatio * actualWidth);
actualHeight = (int) maxHeight;
} else if (imgRatio > maxRatio) {
// 实际图片宽高比大于最大尺寸宽高比时,说明图片宽窄,期望宽度设置为最大宽度,高度等比压缩;
// 含义同两者的宽度比数值小,图片以宽度比为基准等比压缩
imgRatio = maxWidth / actualWidth;
ctualHeight = (int) (imgRatio * actualHeight)