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");
}
}