美文网首页Javaer
Java使用Thumbnailator给图片加水印

Java使用Thumbnailator给图片加水印

作者: AnLingYi | 来源:发表于2019-03-06 11:47 被阅读19次

原文地址: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

相关文章

网友评论

    本文标题:Java使用Thumbnailator给图片加水印

    本文链接:https://www.haomeiwen.com/subject/ynltpqtx.html