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图片添加水印实例代码分享 - Python技术站