在Java开发中,我们可能需要将水印添加到图片中,以保护图片的版权或者其他需求。下面是Java图片添加水印的完整攻略。
Java图片添加水印实例代码分享
在Java开发中,我们可能需要将水印添加到图片中,以保护图片的版权或者其他需求。下面是Java图片添加水印的完整攻略。
准备工作
在项目中添加以下依赖:
<dependency>
<groupId>com.github.vividsolutions</groupId>
<artifactId>jts</artifactId>
<version>1.14</version>
</dependency>
<dependency>
<groupId>com.sun.media</groupId>
<artifactId>jai_codec</artifactId>
<version>1.1.3</version>
</dependency>
<dependency>
<groupId>javax.media</groupId>
<artifactId>jai_core</artifactId>
<version>1.1.3</version>
</dependency>
添加图片水印
我们可以通过以下代码将图片添加水印:
public static void addWatermark(File watermarkImageFile, File sourceImageFile,
File destImageFile, int x, int y, float alpha) throws IOException {
BufferedImage sourceImage = ImageIO.read(sourceImageFile);
BufferedImage watermarkImage = ImageIO.read(watermarkImageFile);
Graphics2D g2d = sourceImage.createGraphics();
AlphaComposite alphaComposite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha);
g2d.setComposite(alphaComposite);
g2d.drawImage(watermarkImage, x, y, null);
g2d.dispose();
ImageIO.write(sourceImage, "jpg", destImageFile);
}
以上代码中 watermarkImageFile
是要添加的水印图片,sourceImageFile
是要添加水印的图片,destImageFile
是添加水印后保存的图片文件路径,x
和 y
是水印添加的位置坐标, alpha
是水印的透明度,可根据需要进行调整。
以下是示例代码:
File watermark = new File("watermark.png");
File original = new File("original.jpg");
File result = new File("result.jpg");
addWatermark(watermark, original, result, 10, 10, 0.5f);
添加文本水印
我们可以通过以下代码将文本添加到图片中:
public static void addTextWatermark(File sourceImageFile, File destImageFile,
String text, String fontName, int fontStyle, Color color, int fontSize,
int x, int y, float alpha) throws IOException {
BufferedImage sourceImage = ImageIO.read(sourceImageFile);
Graphics2D g2d = sourceImage.createGraphics();
AlphaComposite alphaComposite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha);
g2d.setComposite(alphaComposite);
g2d.setColor(color);
g2d.setFont(new Font(fontName, fontStyle, fontSize));
g2d.drawString(text, x, y);
g2d.dispose();
ImageIO.write(sourceImage, "jpg", destImageFile);
}
以上代码中 sourceImageFile
是要添加水印的图片,destImageFile
是添加水印后保存的图片文件路径,text
是要添加的文本,fontName
是文本的字体名称,fontStyle
是文本的字体样式(例如 Font.BOLD
表示粗体,Font.ITALIC
表示斜体等),color
是文本颜色, fontSize
是字体大小, x
和 y
是文本添加的位置坐标, alpha
是文本的透明度,可根据需要进行调整。
以下是示例代码:
File original = new File("original.jpg");
File result = new File("result.jpg");
addTextWatermark(original, result, "This is a watermark", "Arial", Font.BOLD, Color.WHITE, 20, 10, 10, 0.5f);
本文标题为:java图片添加水印实例代码分享
基础教程推荐
- Java结构型设计模式之组合模式详解 2023-05-25
- Java字符串遍历的多种方式 2023-10-08
- Groovy动态语言使用教程简介 2023-05-14
- Java Synchronized锁的使用详解 2023-06-23
- 使用SpringMVC返回json字符串的实例讲解 2024-02-26
- Go Java算法重复的DNA序列详解 2023-04-12
- Spring Boot 整合持久层之JdbcTemplate 2023-04-12
- 使用SpringBoot+EasyExcel+Vue实现excel表格的导入和导出详解 2023-04-23
- 解决springboot服务启动报错:Unable to start embedded contain 2023-04-17
- 使用SpringBoot整合Activiti6工作流的操作方法 2023-03-22