java实现照片水印效果
时间: 2023-08-16 15:06:27 浏览: 92
JAVA 实现图片水印
Java中实现照片水印效果可以使用Java的Graphics2D类来实现。Graphics2D类是Java 2D API中的一个类,它提供了各种绘制2D图形的方法。
下面是一个简单的Java程序,演示如何在图片上添加水印:
```java
import java.awt.Color;
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 sourceImage = ImageIO.read(new File("source.jpg"));
// 创建Graphics2D对象
Graphics2D g2d = sourceImage.createGraphics();
// 设置水印文字
String watermarkText = "Watermark";
// 设置水印字体
Font font = new Font("Arial", Font.BOLD, 24);
g2d.setFont(font);
// 设置水印颜色
g2d.setColor(Color.RED);
// 设置水印位置
int x = sourceImage.getWidth() - 150;
int y = sourceImage.getHeight() - 50;
// 添加水印
g2d.drawString(watermarkText, x, y);
// 释放资源
g2d.dispose();
// 输出图片
ImageIO.write(sourceImage, "jpg", new File("watermarked.jpg"));
}
}
```
在这个程序中,我们首先使用`ImageIO.read`方法读取原始图片。然后,我们创建一个`Graphics2D`对象,该对象是通过调用`createGraphics`方法从原始图片中创建的。接下来,我们设置水印文字、字体、颜色和位置,并使用`drawString`方法将水印添加到图片中。最后,我们释放`Graphics2D`对象,并使用`ImageIO.write`方法将带有水印的图片输出到文件中。
注意:在实际应用中,为了避免原始图片被覆盖,应该将带有水印的图片输出到另一个文件中。
阅读全文