Java 使用 Thumbnailator 给图片加水印

本贴最后更新于 2016 天前,其中的信息可能已经事过景迁

原文地址:https://xeblog.cn/articles/10

Thumbnailator 简介

Thumbnailator 是一个高质量的缩略图生成的 Java 库。

支持:

  • 从现有的图像创建高质量的缩略图。
  • 给图片加水印,可以设置水印的透明度(0%~100%)。
  • 支持缩略图的旋转,大小调整。
  • 图片批量处理。

官方介绍:https://github.com/coobird/thumbnailator

应用

添加依赖

<dependency>
	<groupId>net.coobird</groupId>
	<artifactId>thumbnailator</artifactId>
	<version>0.4.8</version>
</dependency>

图片加水印

本文是将水印图片放入项目的 resource 目录下,原图是放在桌面上的,最后生成的加水印的图片也是放在桌面上,可以根据需要更换相应路径

代码示例:

public static void main(String[] args) {
	// 原图片地址
	String imageUrl = "/Users/yanpanyi/Desktop/image.jpeg";
	// 水印图片 相对于resource目录
	String watermark = "/watermark.png";
	// 输出到文件
	String outputFile = "/Users/yanpanyi/Desktop/test.jpeg";
	// 不透明度
	float opacity = 0.25f;

	try {
		// 获取原图文件
		File file = new File(imageUrl);
		// ImageIO读取图片
		BufferedImage image = ImageIO.read(file);

		Thumbnails.of(image)
						// 设置图片大小
						.size(image.getWidth(), image.getHeight())
						// 加水印 参数:1.水印位置 2.水印图片 3.不透明度0.0-1.0
						.watermark(Positions.BOTTOM_RIGHT, ImageIO.read(WatermarkDemo
										.class.getResourceAsStream(watermark)), opacity)
						// 输出到文件
						.toFile(outputFile);
						
	} catch (IOException e) {
			e.printStackTrace();
	}
}

测试效果

原图

水印图

原图加水印后

参考

https://github.com/coobird/thumbnailator/wiki/Examples

  • 水印
    4 引用 • 5 回帖
  • 图片处理
    12 引用 • 34 回帖
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3187 引用 • 8213 回帖
1 操作
anlingyi 在 2019-05-19 12:43:35 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...