java 水印字体 斜_斜水印,重复水印,文字
时间: 2024-05-04 07:21:28 浏览: 140
java实现倾斜水印铺满整张图
在 Java 中实现斜水印、重复水印、文字水印可以使用 Java 的 Graphics2D 类来实现。下面是一个示例代码:
```java
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class Watermark {
public static void main(String[] args) throws IOException {
BufferedImage image = ImageIO.read(new File("input.jpg"));
// 创建 Graphics2D 对象
Graphics2D g2d = image.createGraphics();
// 设置字体和颜色
Font font = new Font("Arial", Font.BOLD, 30);
g2d.setFont(font);
g2d.setColor(Color.WHITE);
// 添加斜水印
g2d.rotate(Math.toRadians(-45), image.getWidth() / 2, image.getHeight() / 2);
g2d.drawString("Watermark", image.getWidth() / 2 - 70, image.getHeight() / 2);
g2d.rotate(Math.toRadians(45), image.getWidth() / 2, image.getHeight() / 2);
// 添加重复水印
int fontSize = 15;
int x = 0;
int y = fontSize;
int gap = fontSize + 5;
while (y < image.getHeight()) {
while (x < image.getWidth()) {
g2d.drawString("Watermark", x, y);
x += gap;
}
x = 0;
y += gap;
}
// 添加文字水印
g2d.drawString("Watermark", image.getWidth() - 150, image.getHeight() - 50);
// 保存图片
ImageIO.write(image, "jpg", new File("output.jpg"));
}
}
```
这个示例代码首先读入一张图片,然后使用 Graphics2D 对象添加斜水印、重复水印、文字水印,并最终将添加水印后的图片保存为 output.jpg。
阅读全文