ratio 是否压缩
ratio 是否压缩
看不懂就多看几遍 发表于11个月前
ratio 是否压缩
  • 发表于 11个月前
  • 阅读 37
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

private static final double MAX_BITMAP_SIZE = 5e6;  

 private String handleChoosedPicture(Bitmap bitmap,String path) {
        if(bitmap == null || bitmap.isRecycled()){
            return "";
        }
        if(DEBUG){
            Log.d(TAG, "handleChoosedPicture path : " + path);
        }
        int w = bitmap.getWidth();
        int h = bitmap.getHeight();

/*

 

1. MAX_BITMAP_SIZE是你设置的允许的最大大小 如果宽*高小于于这个大小就不进行压缩,大于就压缩。

2.开方是因为: 如果 除完是0.81   那么 长宽各缩小为之前的0.9就可以啦 0.9*0.9=0.81

 3.任意一个大于1的数,开根号后的值都是大于1的。

*/
        float ratio = (float) Math.sqrt(MAX_BITMAP_SIZE/(w*h));
        if(DEBUG){
            Log.d(TAG, "handleChoosedPicture ratio = " + ratio);
        }
        ratio = ratio > 1 ? 1 : ratio;
        int degree = mImageRotate == 0 ? BitmapUtil.readPictureDegree(path) : mImageRotate;
        
        if(DEBUG){
            Log.d(TAG, "handleChoosedPicture degree = " + degree);
        }
        bitmap = BitmapUtil.rotateAndScaleImageView(degree, bitmap, ratio);
        String resultPath = FileUtil.genPath();
        BitmapUtil.saveBitmap(resultPath, bitmap);
        return resultPath;
    }

 

 

共有 人打赏支持
粉丝 8
博文 72
码字总数 9193
×
看不懂就多看几遍
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: