网上看了很多demo,很多都是照搬别人的代码,不管有没有问题,有的甚至递归不关流,还有的递归疯狂往自己磁盘写文件,递归一次写一次,我自己把网上的demo整理改了下发出来。

 /** * @Description: 压缩图片到指定大小* @Param:  desFileSize:大小,accuracy:每次缩小几倍* @return:  String * @Author: zzy * @Date: 2019/9/29 */ public static String commpressPicCycle(byte[] bytes, long desFileSize, double accuracy) throws IOException {long srcFileSizeJPG = bytes.length;System.out.println(srcFileSizeJPG);// 2、判断大小,如果小于,不压缩;如果大于等于,压缩if (srcFileSizeJPG <= desFileSize * 1024) {File file=new File("D://img/abc.png");FileOutputStream fileOutputStream=new FileOutputStream(file);fileOutputStream.write(bytes);fileOutputStream.close();;            return ImageToBase64(bytes);}// 计算宽高BufferedImage bim = ImageIO.read(new ByteArrayInputStream(bytes));int srcWdith = bim.getWidth();int srcHeigth = bim.getHeight();int desWidth = new BigDecimal(srcWdith).multiply(new BigDecimal(accuracy)).intValue();int desHeight = new BigDecimal(srcHeigth).multiply(new BigDecimal(accuracy)).intValue();ByteArrayOutputStream baos = new ByteArrayOutputStream(); //字节输出流(写入到内存)Thumbnails.of(new ByteArrayInputStream(bytes)).size(desWidth, desHeight).outputQuality(accuracy).toOutputStream(baos);byte[] bytes1 = baos.toByteArray();baos.close();return commpressPicCycle(bytes1, desFileSize, accuracy);}

图片转base64

/*** @Description: 图片转base64编码* @Param:* @return:* @Author: zzy* @Date: 2019/9/29*/public static String ImageToBase64(byte[] imgByte) {BASE64Encoder encoder = new BASE64Encoder();return encoder.encode(imgByte);// 返回Base64编码过的字节数组字符串}

Thumbnails压缩图片到指定大小相关推荐

  1. java 压缩图片至指定大小

    需求: 压缩图片至300k以下 一开始没有思路在网上搜,发现google有个插件叫Thumbnails,然后看到了这篇文章: https://blog.csdn.net/u010355502/arti ...

  2. 如何压缩图片到500KB?怎么压缩图片到指定大小?

    如何压缩图片到500KB?这就需要用到压缩啦的图片压缩指定大小工具,只需三步就可以轻松压缩图片大小kb,具体操作步骤如下: 1.使用浏览器打开压缩啦,选择图片压缩指定大小功能. 2.上传需要压缩的图片 ...

  3. JPG图片怎么压缩到30k内?如何压缩图片到指定大小?

    现在各大网站对上传使用的图片都有大小的限制,有时我们在上传图片的时候会遇到图片要求要在30k以内的情况,在遇到这种情况的时候大家就可以使用在线照片处理器 (https://www.yasuotu.co ...

  4. python——实现压缩图片至指定大小

    一.问题描述 遇到了一次那种要求上传图片,图片大小要在1M以内的,一开始尝试用python的cv2来resize实现,后来没成功,百度发现可以用以下方法实现. 二.代码如下 import os fro ...

  5. python 压缩图片为指定大小

    转自:scipy笔记-scipy.misc.imresize用法(方便训练图像数据) from skimage.transform import resize # 压缩图片 def predict_m ...

  6. Android学习之压缩图片到指定大小

    关于图片压缩,是为了上传服务器时有些地方有大小限制,因此,这里我总结了两种方法,个人感觉方法一比较准确一点. 方法一: * 图片压缩方法一* * 计算 bitmap大小,如果超过64kb,则进行压缩* ...

  7. 快速批量压缩照片到指定大小工具,照片图片批量压缩实现方法,批量压缩工具

    在工作中,会遇到在某些系统要上传照片,但是对于上传的照片大小有限制,比如限制大小不能超过1MB等,而外业拍摄的照片往往会超过限制的大小,那么这时就需要对照片进行压缩.但是外业照片数据巨大,人工逐张操作 ...

  8. java使用Thumbnails压缩图片

    java使用Thumbnails压缩图片 有时候为了缓解服务器上的存储压力,我们需要将图片进行压缩以换取空间. 下面使用的是google提供的压缩方式: 一.导包 <!-- 压缩图片大小 --& ...

  9. 怎么压缩图片的体积大小,4款软件分享

    怎么压缩图片的体积大小?因为在日常生活和工作中,我们常常会遇到需要压缩图片大小的情况.图片的大小是由像素点数量和每个像素的颜色深度共同决定的,一般来说,像素点数量越多,每个像素的颜色深度越高,图片的清 ...

最新文章

  1. java 输入流可以合并吗_HOW2J Java 文件输入输出流,合并与拆分
  2. win10服务器权限修改时间,win10系统修改时间显示没权限的解决方案
  3. python 图片 转 pdf
  4. ios与html数据交互,iOS iOS与html进行交互
  5. jscience中的parse转换
  6. AI公开课:19.02.27周逵(投资人)《AI时代的投资逻辑》课堂笔记以及个人感悟
  7. java学习论坛汇总
  8. 复数域上x^n ±1=0的解
  9. 利用 C# 中的 FileSystemWatcher 制作一个文件夹监控小工具
  10. JIT编译器,内联和转义分析
  11. .net面试问答(大汇总)
  12. Vue3学习笔记- NPM包管理工具
  13. Aspen hysys换热器修改计算模式Find Fouling模式
  14. 数字信号处理及其MATLAB实现总结
  15. 看不懂英文文档,是我们英语太差吗?
  16. 图像坐标球面投影_晶体的球面坐标与球面投影
  17. 网易云信 android,网易云信/NIM_Android_UIKit
  18. 自动化测试与手工测试对比
  19. cairo学习简单总结
  20. 第6期丨一周电商零售News10条(2.15-2.21)淘宝在微信“开店”/人民网评茶颜悦色被指侮辱女性/最高检重点监督直播带货

热门文章

  1. 大数据Hadoop教程-学习笔记02【Apache Hadoop、HDFS】
  2. 2018年最全的推荐系统干货(ECCV、CVPR、AAAI、ICML)
  3. OpenCV中的saturate操作(饱和操作)究竟是怎么回事?
  4. 解决Form表单提交文件后台获取为null的情况
  5. http range 用法与说明
  6. range python float_自定义支持 float 的 range 函数
  7. pytorch版本SSD代码分析(2)——数据增强
  8. C++(inline函数)
  9. 委托专利代理机构申请专利的流程
  10. RestEasy 调用Rest接口使用详解