Java如何给图片加水印
时间: 2023-03-01 16:10:13 浏览: 122
Java给图片加水印
您可以使用Java的图形编程库,如Java 2D API,为图像添加水印。
以下是一个简单的例子,该例子使用Java 2D API将水印添加到图像的正中间:
```
import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class ImageWatermark {
public static void main(String[] args) {
try {
// 读取原图片信息
File srcImgFile = new File("src.jpg");
Image srcImg = ImageIO.read(srcImgFile);
int srcImgWidth = srcImg.getWidth(null);
int srcImgHeight = srcImg.getHeight(null);
// 加水印
BufferedImage bufImg = new BufferedImage(srcImgWidth, srcImgHeight, BufferedImage.TYPE_INT_RGB);
Graphics2D g = bufImg.createGraphics();
g.drawImage(srcImg, 0, 0, srcImgWidth, srcImgHeight, null);
g.setColor(Color.RED);
g.setFont(new Font("宋体", Font.BOLD, 30));
g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, 0.5f));
g.drawString("Hello World!", srcImgWidth/2-100, srcImgHeight/2);
g.dispose();
// 输出图片
File outImgFile = new File("out.jpg");
ImageIO.write(bufImg, "jpg", outImgFile);
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
请注意,在上面的代码中,您需要替换“src.jpg”和“out.jpg”为您的原图片和输出图片的文件名。
阅读全文