工具类WaterMarkUtils 字体 大小可改。
//width长 height宽 根据pressText水印名称长度调整
水印我是放右下角,如果觉得不喜欢可以自己去调整位置
import lombok.extern.slf4j.Slf4j;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
/**
* <p>给图片添加文字水印</p>
*
* @Author: 作者:lzl
* @Date: 创建时间:2021/11/03 14:31
* @Version 版本:1.0
*/
@Slf4j
public class WaterMarkUtils {
public static void pressText(String targetImg) {
try {
File file = new File(targetImg);
String pressText = "@水印名称";
Image src = ImageIO.read(file);
int weidth = src.getWidth(null);
int height = src.getHeight(null);
BufferedImage image = new BufferedImage(weidth, height, BufferedImage.TYPE_INT_RGB);
Graphics g = image.createGraphics();
g.drawImage(src, 0, 0, weidth, height, null);
g.setColor(new Color(205, 205, 205));
g.setFont(new Font("宋体", 0, 40));
//width长 height宽 根据pressText水印名称长度调整
g.drawString(pressText, image.getWidth() - 240, image.getHeight() - 35);
g.dispose();
ImageIO.write(image, "jpeg", new FileOutputStream(targetImg));
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
//加水印图片路径
pressText("/Users/zilei/Desktop/files/图片/e50df4adddc30f56f3006b83b00857fd.jpeg");
}
}
效果图: