文档章节

ratio 是否压缩

看不懂就多看几遍
 看不懂就多看几遍
发布于 2016/11/15 16:06
字数 171
阅读 39
收藏 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;
    }

 

 

© 著作权归作者所有

共有 人打赏支持
看不懂就多看几遍
粉丝 7
博文 112
码字总数 10490
作品 0
海淀
QA/测试工程师
系统接口调用-关于调用图库并裁剪图片

一. 实现代码 调用系统相册 代码: Intent intent = new Intent(Intent.ACTIONGETCONTENT, null);intent.setType("image/*");intent.putExtra("crop", "true");intent.putExtra("aspectX", 2......

liqiuzuo
2015/01/20
0
3
Android:实用的图片处理(压缩、旋转、放大或缩小、图片上印字、加水印、图片验证码)

这些天一直为android程序如何压缩图片烦恼,上网找了很多资料,整理了一下,经过测试,都是可用的, 旋转图片: 放大或缩小图片: 在图片上印字: 创建logo(给图片加水印), : 产生一个4位随...

ForingY
2016/08/01
28
0
Apache-gzip压缩-mod_deflate

135956557-小三IT自学群,任何IT问题都可以一起讨论,各种服务网络等等 ------------------------------------------------------------------------------- gzip可以加速网站,压缩比率可以80%...

动力在于作
2017/03/31
0
0
移动前端—图片压缩上传实践

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"> <title>......

Louis_88
2016/01/25
324
0
Html5 ajax上传多个图片 +压缩 + nodjs保存

nodejs端 可以安装multer插件, 前端 upload.html ajax 利用xhr.send(FormData)来实现 利用拼接原始包的方式实现 注: 1.问:图片压缩在iphone和一些android手机上并没有多大效果,不知道问题...

snecker
2015/04/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Go语言_通神之路(2)

1、包 每个Go程序都是由包构成,从main包开始运行,就是我上一篇讲到的,都是从main函数开始执行,但是必须在main包下面! package mainimport ( "fmt" "math/rand")func ...

木九天
昨天
1
0
51.php-fpm的pool 慢日志 open_basedir 进程管理

12.21 php-fpm的pool 12.22 php-fpm慢执行日志(测试时报错) 12.23 open_basedir 12.24 php-fpm进程管理 12.21 php-fpm的pool: php-fpm里的pool也叫池子,咱们之前加入过www的配置,这个w...

王鑫linux
昨天
0
0
java内存模型概述

1、Java虚拟机运行时数据分区图 程序计数器:线程私有,是一块较小的内存空间,它是当前线程所执行的字节码文件的行号指示器 java虚拟机栈:线程私有,其生命周期与线程相同,这也就是我们平...

京一
昨天
0
0
shell学习之test语法

因为if-then语句不能测试退出状态码之外的条件,所以提供了test, 如果test命令中列出的条件成立,test命令就会退出并返回退出状态码0;如果条件不成立,test命令就会退出并返回非零的退出状态...

woshixin
昨天
0
0
openJDK之如何下载各个版本的openJDK源码

如果我们需要阅读openJDK的源码,那么需要下载,那么该去哪下载呢? 现在JDK已经发展到版本10了,11已经处于计划中,如果需要特定版本的openJDK,它们的下载链接在哪呢? 1.openJDK的项目 链接...

汉斯-冯-拉特
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部