Java使用thumbnailator进行图片压缩处理
-- 添加依赖
<!-- 图片缩略图 --> <dependency> <groupId>net.coobird</groupId> <artifactId>thumbnailator</artifactId> <version>0.4.8</version> </dependency>
-- 测试代码类
import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.math.BigDecimal; import javax.imageio.ImageIO; import net.coobird.thumbnailator.Thumbnails; public class ImageTest { public static void main(String[] args) { try { commpressPicCycle("C:\\Users\\Justin\\Desktop\\下载\\temp\\IMG_0004.JPG",1024,0.8); } catch (IOException e) { e.printStackTrace(); } } // 压缩图片 private static void commpressPicCycle(String desPath, long desFileSize, double accuracy) throws IOException { System.out.println("压缩开始。。。"); File srcFileJPG = new File(desPath); long srcFileSizeJPG = srcFileJPG.length(); System.out.println(srcFileSizeJPG); // 2、判断大小,如果小于1M,不压缩;如果大于等于1M,压缩 if (srcFileSizeJPG <= desFileSize * 1024) { return; } // 计算宽高 BufferedImage bim = ImageIO.read(srcFileJPG); 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(); Thumbnails.of(desPath).size(desWidth, desHeight).outputQuality(accuracy).toFile(desPath); System.out.println("压缩结束。。。"); commpressPicCycle(desPath, desFileSize, accuracy); } }
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现