Java中圖片處理thumbnailator使用

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");
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章