天天看点

4-3 Thumbnailator图片处理和封装Util【通过java代码实现给图片打上水印】4-3 Thumbnailator图片处理和封装Util

SSM到Spring Boot-校园商铺平台——>第04章 店铺注册功能模块——>4-3 Thumbnailator图片处理和封装Util

几乎所有电商类的java实战项目,都需要实现图片上传功能。本篇博客主要提供一种给上传图片打上个性化水印的实现。

4-3 Thumbnailator图片处理和封装Util

一、导入相关依赖坐标

<!-- 图片处理 a thumbnail generation library -->
		<dependency>
			<groupId>net.coobird</groupId>
			<artifactId>thumbnailator</artifactId>
			<version>0.4.8</version>
		</dependency>
           

二、提供一个可以使用的水印图片

在本地项目的src/main/resources目录下,事先准备好一个名为 watermark.jpg的文件。

4-3 Thumbnailator图片处理和封装Util【通过java代码实现给图片打上水印】4-3 Thumbnailator图片处理和封装Util
4-3 Thumbnailator图片处理和封装Util【通过java代码实现给图片打上水印】4-3 Thumbnailator图片处理和封装Util

三、在util包下新建一个工具类ImageUtil

import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

import net.coobird.thumbnailator.Thumbnails;
import net.coobird.thumbnailator.geometry.Positions;



public class ImageUtil {
    //main函数的入口
    public static void main(String[] args) throws IOException {
        //获取当前线程的基础路径
        String basePath = Thread.currentThread().getContextClassLoader().getResource("").getPath();
        //类的静态方法和链式编程
        Thumbnails.of(new File("F:\\javaweb\\taotao-upload\\images\\真是悠哉啊.jpg"))
        .size(1280, 720).watermark(Positions.BOTTOM_RIGHT,
                                  ImageIO.read(new File(basePath + "/watermark.jpg")), 
                                  0.25f).outputQuality(0.8f)
        .toFile("F:\\javaweb\\taotao-upload\\images\\真是悠哉啊new.jpg");    
    }   
}
           

在win10系统下的 F:\javaweb\taotao-upload\images目录里先准备好一个“真是悠哉啊.jpg”文件。

4-3 Thumbnailator图片处理和封装Util【通过java代码实现给图片打上水印】4-3 Thumbnailator图片处理和封装Util
4-3 Thumbnailator图片处理和封装Util【通过java代码实现给图片打上水印】4-3 Thumbnailator图片处理和封装Util

Run As ——>Java Application  

控制台没有任何输出提示,直接去文件目录下查看结果即可。

================================================================================

附录:参考资料

4-3 Thumbnailator图片处理和封装Util【通过java代码实现给图片打上水印】4-3 Thumbnailator图片处理和封装Util

end

继续阅读