/** * 让图片保持在一个区域内所需缩放的倍数 * @param rect 区域大小 * @param imageSize 图片大小 * @param stretch 图片本来就在区域大小内的话,是否使图片拉伸 */ public static float getImageScale(Size rect, Size imageSize, boolean stretch){ float scale = 1f ; float scaleX = ((float)rect.width)/imageSize.width ; float scaleY = ((float)rect.height)/imageSize.height ; if( scaleX < 1f || scaleY < 1f ){//图片超出该区域 scale = scaleX < scaleY ? scaleX : scaleY ; }else{ //图片本来就在区域大小内 if( stretch ){ scale = scaleX < scaleY ? scaleX : scaleY ; } } return scale ; }