Java语言利用Google的Thumbnailator处理图片
程序员文章站
2022-04-29 17:38:30
Java语言利用Google的Thumbnailator处理图片 ......
导读:在java中制作高质量的缩略图可能是一项相当困难的任务,或者图片质量高页面加载慢等等原因使需要对图片进行处理,但是又不想写太多的代码太麻烦去处理图片,那么就可以使用thumbnailator——thumbnailator是一个单独的jar文件,不依赖于外部库,使开发和部署变得简单和容易。
1.thumbnailator能提供那些功能
- 图片裁剪
- 修改像素
- 缩小/扩大
- 压缩质量
- 旋转
- 加水印
- 转化图片格式
- 其他……
2.thumbnailator怎么引入项目
maven的pom.xml添加下面的dependency:
<!-- https://mvnrepository.com/artifact/net.coobird/thumbnailator --> <dependency> <groupid>net.coobird</groupid> <artifactid>thumbnailator</artifactid> <version>0.4.8</version> </dependency>
也可以下载thumbnailator-0.4.8.jar包,导入工程lib下面;
3.thumbnailator怎么使用
package com.tao.springboot; import net.coobird.thumbnailator.thumbnails; import net.coobird.thumbnailator.geometry.positions; import javax.imageio.imageio; import java.awt.*; import java.awt.image.bufferedimage; import java.io.file; import java.io.ioexception; public class thumbnailator { public static void main(string[] args) throws ioexception { // 需要压缩的图片 file infile = new file("c:/images/test.jpg"); // 压缩完的存放地址 string outfile = "c:/images/test.jpg"; // 图片裁剪 thumbnails.of(infile).sourceregion(0,0,400,400).size(200,200).tofile(outfile); // 修改像素 thumbnails.of(infile).size(200,200).tofile(outfile); // 缩小 thumbnails.of(infile).scale(0.5f).tofile(outfile); // 扩大 thumbnails.of(infile).scale(2f).tofile(outfile); // 压缩质量 thumbnails.of(infile).outputquality(0.5f).tofile(outfile); // 旋转 thumbnails.of(infile).rotate(90).tofile(outfile); // 图片水印 file waterfile = new file("c:/images/water.jpg"); thumbnails.of(infile).watermark(positions.bottom_center, imageio.read(waterfile),0.5f).tofile(outfile); // 文字水印 bufferedimage bi = new bufferedimage(80,30,bufferedimage.type_int_bgr); graphics2d g = bi.creategraphics(); g.setcolor(color.lightgray); g.drawrect(0,0,50,10); g.drawstring("文字水印", 20,20); thumbnails.of(infile).watermark(positions.bottom_left, bi, 0.5f).tofile(outfile); // 转化图片格式 thumbnails.of(infile).outputformattype("png").tofile(outfile); } }
4.参考资料
github地址:
maven地址: