博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ratio 是否压缩
阅读量:6839 次
发布时间:2019-06-26

本文共 958 字,大约阅读时间需要 3 分钟。

hot3.png

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;
    }

 

 

转载于:https://my.oschina.net/u/2915671/blog/788198

你可能感兴趣的文章
Putty添加SSH Key
查看>>
zuoye
查看>>
Oracle RAC 添加删除节点
查看>>
OU/Group/Group Policy组织单元、组和组策略
查看>>
菜鸟的DUBBO进击之路(二):Dubbo初识
查看>>
浏览器跑分测试
查看>>
Android的Activity屏幕切换动画(一)-左右滑动切换
查看>>
LVS+keeplived+nginx+tomcat高可用、高性能jsp集群
查看>>
Linux下清理内存和Cache方法
查看>>
XML1.1
查看>>
rhel6.3挂载HP-EVA6400磁阵--linux端操作流程
查看>>
Gradle构建脚本概要之构建块
查看>>
HashTable已经被淘汰了,不要在代码中再使用它
查看>>
ACCP学习旅程之----- 使用HTML语言开发商业站点(第一章 HTML的基本标签)
查看>>
AAD Connect 微软官方的描述准确吗?
查看>>
C++实现快速排序
查看>>
puppet 类、模块
查看>>
Rabbitmq安装
查看>>
2016年3月9日作业
查看>>
tomcat 部署站点时遇到的部分问题以及解决方案
查看>>