java给图片添加水印
时间: 2023-10-14 19:27:22 浏览: 40
Java可以使用Java2D API向图片中添加水印。以下是一个简单的示例代码:
```java
import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class Watermark {
public static void main(String[] args) throws IOException {
// 读取原图
File sourceImageFile = new File("source.jpg");
BufferedImage sourceImage = ImageIO.read(sourceImageFile);
// 创建一个新的BufferedImage对象,其大小和原图一致
BufferedImage resultImage = new BufferedImage(sourceImage.getWidth(), sourceImage.getHeight(), BufferedImage.TYPE_INT_RGB);
// 获取Graphics2D对象
Graphics2D graphics = resultImage.createGraphics();
// 将原图绘制到新的BufferedImage对象中
graphics.drawImage(sourceImage, 0, 0, null);
// 设置水印文字的字体、大小、颜色和透明度
Font font = new Font("Arial", Font.BOLD, 36);
Color color = new Color(255, 255, 255, 128);
graphics.setFont(font);
graphics.setColor(color);
graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
graphics.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f));
// 绘制水印文字
String watermarkText = "Copyright";
int x = (resultImage.getWidth() - graphics.getFontMetrics().stringWidth(watermarkText)) / 2;
int y = resultImage.getHeight() / 2;
graphics.drawString(watermarkText, x, y);
// 保存添加水印后的图片
File resultImageFile = new File("result.jpg");
ImageIO.write(resultImage, "jpg", resultImageFile);
}
}
```
此代码将在原图中心添加一个半透明的“Copyright”水印。你可以根据需要修改字体、大小、颜色和位置等参数。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![java](https://img-home.csdnimg.cn/images/20210720083646.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)