Java中图片处理thumbnailator使用
一、简介
这里介绍在java中,使用thumbnailator进行图像处理。
二、开发步骤
2.1 添加maven依赖
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
<version>0.4.8</version>
</dependency>
2.2 示例
图片操作,直接上代码,解释请看注释
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;
public class ThumbnailatorMain {
public static void main(String[] args) throws Exception {
File fromFile = new File("E:/a_study_resource/imgs/one.jpg");
//修改像素,这里改为100px*100px
Thumbnails.of(fromFile).size(100,100)
.toFile("E:/a_study_resource/imgs_result/one_1.jpg");
//按比例缩小
Thumbnails.of(fromFile).scale(0.5f)
.toFile("E:/a_study_resource/imgs_result/one_2.jpg");
//按比例放大
Thumbnails.of(fromFile).scale(2)
.toFile("E:/a_study_resource/imgs_result/one_3.jpg");
//尺寸不变,修改文件大小
Thumbnails.of(fromFile).scale(1).outputQuality(0.2f)
.toFile("E:/a_study_resource/imgs_result/one_4.jpg");
//旋转指定角度,正数为顺时针,负数为逆时针
Thumbnails.of(fromFile).scale(1).rotate(90)
.toFile("E:/a_study_resource/imgs_result/one_4.jpg");
//加水印,需指定水印图片和透明度
File waterFile = new File("E:/a_study_resource/imgs_result/water_1.jpg");
Thumbnails.of(fromFile).scale(1).watermark(Positions.BOTTOM_RIGHT, ImageIO.read(waterFile),0.5f)
.toFile("E:/a_study_resource/imgs_result/one_5.jpg");
//加水印,水印为自定义文字
BufferedImage bi = new BufferedImage(80,30,BufferedImage.TYPE_INT_BGR);
Graphics2D g = bi.createGraphics();
g.setColor(Color.lightGray);
g.drawRect(0,0,80,30);
g.drawString("好好学习", 15,15);
Thumbnails.of(fromFile).scale(1).watermark(Positions.BOTTOM_RIGHT, bi,0.3f)
.toFile("E:/a_study_resource/imgs_result/one_6.jpg");
//转换图片格式
Thumbnails.of(fromFile).scale(1).outputFormat("png")
.toFile("E:/a_study_resource/imgs_result/one_7.png");
//图片裁减
Thumbnails.of(fromFile).sourceRegion(0, 0, 200, 200).size(200,200)
.toFile("E:/a_study_resource/imgs_result/one_8.png");
}
}