图片压缩的几个java开源库

时间:2022-06-26
本文章向大家介绍图片压缩的几个java开源库,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

本文转自:https://www.t-io.org/1152358001936572416

ImageIO

这个是JDK自带的,使用方法略

Hutool

hutool是个java工具库,它的使用没啥好介绍的,一行代码搞定

OpenCV

引入依赖

<dependency>
		<groupId>org.bytedeco.javacpp-presets</groupId>
		<artifactId>opencv</artifactId>
		<version>4.0.1-1.4.4</version>
</dependency>

示例代码

	/**
	 * @param srcImg
	 * @param desImg
	 * @param scale
	 * @author tanyaowu
	 */
	public static void scale(String srcImg, String desImg, double scale) {
		Mat src = Imgcodecs.imread(srcImg);
		Mat dst = src.clone();
		Imgproc.resize(src, dst, new Size(src.width() * scale, src.height() * scale));
		Imgcodecs.imwrite(desImg, dst);
	}

Thumbnails

引入依赖

 <dependency>
        <groupId>net.coobird</groupId>
        <artifactId>thumbnailator</artifactId>
        <version>0.4.8</version>
</dependency>

示例代码

Thumbnails.of("原图文件的路径")
        .scale(1f)  //指定图片的大小,值在0到1之间,1f就是原图大小,0.5就是原图的一半大小,这里的大小是指图片的长宽
        .outputQuality(0.5f)  //图片的质量,值也是在0到1,越接近于1质量越好,越接近于0质量越差
        .toFile("压缩后文件的路径");