java 实现图片水印效果
时间: 2024-05-25 12:04:34 浏览: 49
Java实现图片水印效果可以使用Java的Graphics2D类。以下是一个示例代码:
```java
import java.awt.*;
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 originalImage = ImageIO.read(new File("original.jpg"));
// 创建Graphics2D对象
Graphics2D g2d = (Graphics2D) originalImage.getGraphics();
// 设置透明度
AlphaComposite alpha = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f);
g2d.setComposite(alpha);
// 设置字体
Font font = new Font("Arial", Font.BOLD, 36);
g2d.setFont(font);
// 设置颜色
g2d.setColor(Color.WHITE);
// 在图片上添加水印
String watermark = "www.example.com";
FontMetrics fontMetrics = g2d.getFontMetrics();
int x = originalImage.getWidth() - fontMetrics.stringWidth(watermark) - 10;
int y = originalImage.getHeight() - fontMetrics.getHeight() - 10;
g2d.drawString(watermark, x, y);
// 保存水印图片
ImageIO.write(originalImage, "jpg", new File("watermarked.jpg"));
}
}
```
这个示例代码会在原始图片上添加一个白色半透明的水印,位置在图片的右下角。你可以根据自己的需要修改水印的位置、颜色和字体大小等参数。
阅读全文