java实现图片添加水印的方法
时间: 2023-10-09 13:17:42 浏览: 61
可以使用Java的Graphics2D类中的drawString方法将文字水印绘制到图片上。以下是示例代码:
```
public static void addTextWatermark(String text, File sourceImageFile, File destImageFile) {
try {
BufferedImage sourceImage = ImageIO.read(sourceImageFile);
Graphics2D g2d = (Graphics2D) sourceImage.getGraphics();
// 设置字体、颜色和透明度
Font font = new Font("Arial", Font.BOLD, 48);
Color color = Color.WHITE;
float alpha = 0.5f;
g2d.setFont(font);
g2d.setColor(color);
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, alpha));
// 计算水印文本坐标
FontMetrics fontMetrics = g2d.getFontMetrics(font);
int textWidth = fontMetrics.stringWidth(text);
int textHeight = fontMetrics.getHeight();
int x = sourceImage.getWidth() - textWidth - 20;
int y = sourceImage.getHeight() - textHeight - 20;
// 绘制水印文本
g2d.drawString(text, x, y);
g2d.dispose();
// 保存修改后的图片
ImageIO.write(sourceImage, "png", destImageFile);
} catch (IOException ex) {
ex.printStackTrace();
}
}
```
调用示例:
```
File sourceImageFile = new File("source.png");
File destImageFile = new File("dest.png");
addTextWatermark("Watermark", sourceImageFile, destImageFile);
```
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)