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");
    }
}
发布了274 篇原创文章 · 获赞 95 · 访问量 50万+

猜你喜欢

转载自blog.csdn.net/chinabestchina/article/details/105189410