java实现图片加文字水印
时间: 2023-08-04 21:07:07 浏览: 115
Java可以使用Java2D API来实现图片加文字水印。下面是一个简单的示例代码:
```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 ImageWatermark {
public static void main(String[] args) throws IOException {
// 读取原始图片
BufferedImage image = ImageIO.read(new File("original.jpg"));
// 创建一个空白的图片,大小和原始图片一样
BufferedImage result = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_INT_RGB);
// 获取图片的Graphics2D对象
Graphics2D g = result.createGraphics();
// 将原始图片绘制到空白图片上
g.drawImage(image, 0, 0, null);
// 设置水印文字的相关属性
String text = "Hello, world!";
Font font = new Font("Arial", Font.BOLD, 36);
Color color = Color.WHITE;
// 绘制水印文字
g.setFont(font);
g.setColor(color);
int x = (image.getWidth() - g.getFontMetrics().stringWidth(text)) / 2;
int y = image.getHeight() / 2;
g.drawString(text, x, y);
// 保存水印图片
ImageIO.write(result, "jpg", new File("watermark.jpg"));
}
}
```
在这个示例代码中,我们首先读取原始图片,然后创建一个空白的图片,大小和原始图片一样。接着,我们获取空白图片的Graphics2D对象,将原始图片绘制到空白图片上。然后,我们设置水印文字的相关属性,包括文字内容、字体和颜色,并在空白图片上绘制水印文字。最后,我们将水印图片保存到文件中。
阅读全文