首页

图片添加水印工具类ImageUtils代码示例

标签:水印     发布时间:2024-09-04   
package com.tools.common.util;@b@@b@import com.tools.module.app.entity.AppImage;@b@import net.coobird.thumbnailator.Thumbnails;@b@import net.coobird.thumbnailator.geometry.Positions;@b@import org.springframework.beans.factory.annotation.Autowired;@b@import org.springframework.beans.factory.annotation.Value;@b@import org.springframework.stereotype.Component;@b@import org.springframework.util.ResourceUtils;@b@@b@import javax.imageio.ImageIO;@b@import java.awt.image.BufferedImage;@b@import java.io.File;@b@import java.io.FileNotFoundException;@b@import java.io.IOException;@b@@b@/**@b@ * 图片处理@b@ * 爪哇笔记:https://blog.52itstyle.vip@b@ */@b@@Component@b@public class ImageUtils {@b@@b@    @Value("${file.path}")@b@    private String filePath;@b@@b@    private static File watermark;@b@@b@    static {@b@        try {@b@            watermark = ResourceUtils.getFile("classpath:static/images/watermark.png");@b@        } catch (FileNotFoundException e) {@b@            e.printStackTrace();@b@        }@b@    }@b@@b@    /**@b@     * 加水印@b@     * @param imageModel@b@     */@b@    public File watermark(AppImage imageModel){@b@        String inputPath = filePath +"/"+ imageModel.getFileName();@b@        File outputFile = new File(filePath +"/"+ imageModel.getImagePath());@b@        // 不透明度@b@        float opacity = 0.7f;@b@        try {@b@            // 获取原图文件@b@            File file = new File(inputPath);@b@            // ImageIO读取图片@b@            BufferedImage image = ImageIO.read(file);@b@            Thumbnails.of(image)@b@                    // 设置图片大小@b@                    .size(image.getWidth(), image.getHeight())@b@                    // 加水印 参数:1.水印位置 2.水印图片 3.不透明度0.0-1.0@b@                    .watermark(Positions.BOTTOM_RIGHT, ImageIO.read(watermark), opacity)@b@                    // 输出到文件@b@                    .toFile(outputFile);@b@            return outputFile;@b@        } catch (IOException e) {@b@            e.printStackTrace();@b@        }@b@        return null;@b@    }@b@@b@    public static void main(String[] args) {@b@        // 原图片地址@b@        String imageUrl = "F:\\111.gif";@b@        // 水印图片 相对于resource目录@b@        String watermark = "F:\\watermark.png";@b@        // 输出到文件@b@        String outputFile = "F:\\222.gif";@b@        // 不透明度@b@        float opacity = 0.7f;@b@        try {@b@            // 获取原图文件@b@            File file = new File(imageUrl);@b@            // ImageIO读取图片@b@            BufferedImage image = ImageIO.read(file);@b@            System.out.println(image.getWidth());@b@            Thumbnails.of(image)@b@                    // 设置图片大小@b@                    .size(image.getWidth(), image.getHeight())@b@                    // 加水印 参数:1.水印位置 2.水印图片 3.不透明度0.0-1.0@b@                    .watermark(Positions.BOTTOM_RIGHT, ImageIO.read(new File(watermark)), opacity)@b@                    // 输出到文件@b@                    .outputQuality(1)@b@                    .toFile(outputFile);@b@        } catch (IOException e) {@b@            e.printStackTrace();@b@        }@b@    }@b@}


<<热门下载>>