我需要一个图片添加水印的java代码
时间: 2024-03-27 15:39:03 浏览: 113
给图片添加文字水印的Java代码
好的,以下是一个Java的示例代码,可以使用Java的Graphics2D类来添加水印:
```java
import java.awt.AlphaComposite;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
public class Watermark {
public static void main(String[] args) throws Exception {
// 打开图片
BufferedImage image = ImageIO.read(new File("example.jpg"));
// 创建一个新的图片对象,大小与原图相同
BufferedImage watermark = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_INT_ARGB);
// 创建Graphics2D对象,用于在水印上绘制文本
Graphics2D g2d = (Graphics2D) watermark.getGraphics();
// 设置绘制文本的字体和颜色
g2d.setFont(new Font("Arial", Font.BOLD, 48));
g2d.setColor(java.awt.Color.WHITE);
// 在水印上绘制文本
g2d.drawString("Watermark", 10, 50);
// 将水印透明度设置为50%
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f));
// 将水印添加到原图上
Graphics2D g2d_image = (Graphics2D) image.getGraphics();
g2d_image.drawImage(watermark, 0, 0, null);
g2d_image.dispose();
// 保存图片
ImageIO.write(image, "jpg", new File("example_with_watermark.jpg"));
}
}
```
这个代码会在原图上添加一个水印,水印内容为"Watermark",使用了默认的字体Arial,可以根据需要自行修改。添加完成后,将新的图片保存到"example_with_watermark.jpg"。
阅读全文