import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class WatermarkExample {
public static void main(String[] args) {
try {
// 读取原始图像
File sourceImageFile = new File("IMG_2024.jpg");
BufferedImage sourceImage = ImageIO.read(sourceImageFile);
// 读取水印图像
File watermarkImageFile = new File("Icon24.png");
BufferedImage watermarkImage = ImageIO.read(watermarkImageFile);
// 创建Graphics2D对象
Graphics2D g2d = (Graphics2D) sourceImage.getGraphics();
// 设置透明度(alpha值)
AlphaComposite alphaChannel = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f); // 0.5f表示50%的透明度
g2d.setComposite(alphaChannel);
// 计算水印图像放置的位置(这里简单设置为右下角)
int x = sourceImage.getWidth() - watermarkImage.getWidth() - 10; // 10是边距
int y = sourceImage.getHeight() - watermarkImage.getHeight() - 10;
// 绘制水印图像
g2d.drawImage(watermarkImage, x, y, null);
// 释放Graphics2D对象
g2d.dispose();
// 保存处理后的图像
File outputImageFile = new File("image_with_watermark.jpg");
ImageIO.write(sourceImage, "jpg", outputImageFile);
System.out.println("水印添加成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
Java给图片加水印
最新推荐文章于 2025-04-05 00:31:02 发布