Android 获取让图片保持在一个区域内所需缩放的倍数

/**
     * 让图片保持在一个区域内所需缩放的倍数
     * @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 ; 
    }

 

posted @ 2014-04-20 12:10  行-云  阅读(378)  评论(0编辑  收藏  举报