一,简单压缩(速度快)

public static void main(String[] args) {TimeInterval timer = DateUtil.timer();try {String basePath = Thread.currentThread().getContextClassLoader().getResource("").getPath();System.out.println(basePath);File input = new File(basePath+"static/9.jpg");BufferedImage image = ImageIO.read(input);Iterator<ImageWriter> writers = ImageIO.getImageWritersByFormatName("jpg");ImageWriter writer = (ImageWriter) writers.next();File compressedImageFile = new File("yasuo9.jpg");OutputStream os = new FileOutputStream(compressedImageFile);ImageOutputStream ios = ImageIO.createImageOutputStream(os);writer.setOutput(ios);ImageWriteParam param = writer.getDefaultWriteParam();param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);param.setCompressionQuality(0.1f);writer.write(null, new IIOImage(image, null, null), param);os.close();ios.close();writer.dispose();} catch (IOException e) {e.printStackTrace();}System.err.println( timer.intervalMs());}

二、可添水印、设置长宽,等比缩小,添加缩略图等(速度稍微慢点)

<dependency><groupId>net.coobird</groupId><artifactId>thumbnailator</artifactId><version>0.4.18</version>
</dependency><!-- hutool工具包 -->
<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.6</version>
</dependency>
    public static void main(String[] args) throws IOException {TimeInterval timer = DateUtil.timer();try {String basePath = Thread.currentThread().getContextClassLoader().getResource("").getPath();System.out.println(basePath);//        Thumbnails.of(new File(basePath+"static/5.jpg"))//                .size(300, 400).watermark(Positions.BOTTOM_RIGHT, ImageIO.read(new File(//                "F:/intellij idea3/target/classes/timg.jpg")),0.1f)//                .outputQuality(0.8f).toFile("6.jpg");Thumbnails.of(new File(basePath+"static/9.jpg")).scale(1f).outputQuality(0.1f).toFile("7.jpg");} catch (IOException e) {e.printStackTrace();}System.err.println( timer.intervalMs());}

压缩图片(java)相关推荐

  1. java ios压缩图片,Java、ios图片上传

    IOS客服端代码 @interface ViewController () { NSString *boundary; NSString *fileParam; NSString *baseUrl; ...

  2. java实现压缩图片的方法

    前段时间在使用对图片加水印后,由于需加水印的图片的宽度和高度都非常的大,加了水印后图片从几百KB,变成了几MB,严重影响了图片在页面的加载速度! 经过仔细的琢磨,决定先对图片进行压缩,再加水印.采用这 ...

  3. 批量压缩图片软件 JAVA

    批量压缩图片软件 - CompressImages 软件介绍: CompressImages是一款批量压缩图片的软件,它能够将指定文件夹(含子目录)中的所有图片文件进行压缩,并且是在图片不失真的前提下 ...

  4. java采用降低图片分辨率大小来压缩图片大小

    我看了网上大多数对图片的压缩都是基于对图片width和hight进行裁剪来降低图片实际大小,但这种方式容易导致图片内容的丢失,所以推荐大家采用以下这种方式 import java.awt.image. ...

  5. java 多线程 压缩_Java 多线程拷贝文件夹并调用tinyPng算法接口压缩图片实现(生产消费变种)...

    线程模型 生产者Provider线程为一,主要进行深搜目录文件:. 消费者Consumer线程多个, 因为RPC服务调用时延较长, 启用多个线程请求服务. 持久化线程Persist 将已经消费的消息存 ...

  6. Java压缩图片大小

    使用场景: 1.当使用图片上传功能时,上传图片太大,造成对服务器资源过多的占用2.客户端上传图片尺寸大小不一,前端需要展示给用户固定尺寸时,可通过java进行对上传图片统一进行处理 功能预览 1.压缩 ...

  7. 解决java压缩图片内存溢出问题

    解决java压缩图片内存溢出问题 import java.awt.image.BufferedImage; import java.io.File; import java.io.FileOutput ...

  8. java按比例压缩图片到指定的大小(kb、mb)

    网上有很多压缩图片的方法,但是要么就是不能压缩到指定的大小以内,要么就是要引用第三方的插件,都不太符合我的要求,所以就想着自己写一个方法来实现.这种方法有点不好就是如果图片特别大则要进行多次判断和读取 ...

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

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

  10. java上传并压缩图片(等比例压缩或者原尺寸压缩)

    先看效果: 原图:1.33M 处理后:27.4kb 关键代码; package codeGenerate.util;import java.awt.Color; import java.awt.Gra ...

最新文章

  1. pytorch 查看模型参数,查看模型特定层输入输出,模型结构图绘制总结
  2. 基于CentOS中PXE网络环境构建实例
  3. 天涯htmlcss基础框架
  4. Hibernate调用存储过程
  5. Linux下编译vtk的java版本,Ubuntu 16.04 编译VTK7.1
  6. 配置 Sybase数据源
  7. 2020年Mybatis源码解读
  8. C#中构造函数和析构函数的用法
  9. AIR ANE(本机扩展)使用中的一些问题(Android平台)
  10. Java:关于负数的向上转型
  11. 通过DLL文件实现函数共有及通过调用_stdcall来减少程序文件的大小
  12. python做ui界面_从零开始创建UI
  13. 2021-5-25有限元从0开始第六天(Lp空间,弱导数)
  14. html 字体模糊,css – Chrome字体显示模糊
  15. 微信小程序各门类需申请资质
  16. 主成分有什么用?如何进行呢?
  17. 中国科技大学网络视频课程软件设计模式(自主模式)
  18. 2017 php经典面试题,2017最新PHP经典面试题目汇总(上篇)
  19. 目标检测之YOLOv1到YOLOv3系列简介
  20. PostgreSQL导不了入数据

热门文章

  1. SpringCloud搭建NetFilx-Eureka(小白专属)
  2. 一个android工程师写java后台的感受
  3. rman初级知识(读书笔记)
  4. 谷粒学院-首页数据显示-banner轮播图微服务搭建
  5. 大象装企营销:学会这几招你也可以打造出高质量微信群
  6. 流量监控软件networx使用
  7. 图解固件、驱动、软件的区别
  8. [论文阅读] Adversarial Learning for Semi-Supervised Semantic Segmentation
  9. 驱动-MDL内存映射
  10. Unity3D 摄像机滑动跟随