Java:使用thumbnailator实现图片压缩处理

简介: Java:使用thumbnailator实现图片压缩处理

thumbnailator可以实现图片的压缩、旋转、添加水印

文档

依赖

<!-- https://mvnrepository.com/artifact/net.coobird/thumbnailator -->
<dependency>
    <groupId>net.coobird</groupId>
    <artifactId>thumbnailator</artifactId>
    <version>0.4.17</version>
</dependency>

代码示例

压缩图片大小

package com.example.demo;
import net.coobird.thumbnailator.Thumbnails;
import java.io.IOException;
public class Demo {
    public static void main(String[] args) throws IOException {
        Thumbnails.of("img/image.jpg")
                .outputQuality(0.5f)
                .toFile("img/image-out.jpg");
    }
}

图片处理前后大小对比

267K image.jpg
140K image-out.jpg

参考


相关文章
|
Java BI 图形学
java实现图片压缩功能
java实现图片压缩功能
479 0
|
Java Maven 数据安全/隐私保护
写给大忙人看的 - Java中图片压缩上传至MinIO服务器(4)
之前文章已经介绍了 MinIO 的环境搭建,已经对文件的上传下载方法,本篇文章一起与大家来学习图片压缩上传的方法
1285 1
写给大忙人看的 - Java中图片压缩上传至MinIO服务器(4)
|
Java
java图片压缩工具类
java图片压缩工具类
1036 0
|
存储 Java API
【Android 内存优化】Android 原生 API 图片压缩原理 ( 图片质量压缩方法 | 查找 Java 源码中的 native 方法对应的 C++ 源码 )
【Android 内存优化】Android 原生 API 图片压缩原理 ( 图片质量压缩方法 | 查找 Java 源码中的 native 方法对应的 C++ 源码 )
241 0
【Android 内存优化】Android 原生 API 图片压缩原理 ( 图片质量压缩方法 | 查找 Java 源码中的 native 方法对应的 C++ 源码 )
|
Java 数据安全/隐私保护
|
Java 关系型数据库 .NET
在windows和Linux上安装ImageMagick与jmagick,Maven配置、Java图片压缩代码(整理网上、结合自己情况、编写出来的新安装方式)
安装过程(如图所示)   若想使用imagemagick,需要安装各种依赖库、一步小心,可能就会安装错误。其中ImageMagick的访问地址为: http://www.imagemagick.org/script/index.php 2、安装支持库 Linux服务器如果没有安装Jpeg v6b、libPng、FreeType库,要在安装imagemagick之前先装好,否则imagemagi
3168 0
|
Java 数据安全/隐私保护
Java后端实现图片压缩技术
今天来说说图片压缩技术,为什么要使用图片压缩,图片上传不就完事了吗?对的,这在几年前可以这么说,因为几年前还没有现在这么大的并发,也没有现在这么关注性能。   如今手机很多,很多人都是通过手机访问网络或者app,再调用接口的时候肯定会多多少少的浏览图片,尤其是脱离wifi的情况下,可以看到很多软件展示都会展示小图,这个小图就是压缩的图片,点击后才会放大,如下: 这样的做法可以尽量减少手机端的图片展示压力,因为一个图片对于上传者来说可能是几百K,也有可能是几兆,这样对于手机端无遗展现的压力会比较大,同时也会耗费很多流量,所以在如今手机互联网当道的情况下一定要做好这样的图片压缩处理。
1902 0
|
Java Windows iOS开发
Java 图片压缩
先上传压缩后的效果图一张: 图片1是压缩前,2是压缩后,这是以最大压缩比压缩的,效果只有自己去看了。 package zhangao.main; import java.
1310 0
|
2天前
|
监控 Java
java异步判断线程池所有任务是否执行完
通过上述步骤,您可以在Java中实现异步判断线程池所有任务是否执行完毕。这种方法使用了 `CompletionService`来监控任务的完成情况,并通过一个独立线程异步检查所有任务的执行状态。这种设计不仅简洁高效,还能确保在大量任务处理时程序的稳定性和可维护性。希望本文能为您的开发工作提供实用的指导和帮助。
34 17