JAVA图片添加多个水印

阅读: 评论:0

JAVA图片添加多个水印

JAVA图片添加多个水印

Java可以使用Java 2D API和ImageIO类来向图像中添加多个水印。

文章目录

  • 一、Java 2D API和ImageIO类
  • 二、使用步骤
    • 1.读取图像文件
    • 2.创建Graphics2D对象
    • 3.添加水印
    • 3.保存修改后的图像
    • 4.清除Graphics2D对象
    • 完整代码


一、Java 2D API和ImageIO类

Java 2D API是Java SE平台的一部分,提供了用于处理图像和绘图的类和接口。它提供了许多功能,包括绘制图形、图像处理、图像过滤和颜色转换等。

Java 2D API的核心是Graphics2D类,它是一个用于绘制图形的高级类。Graphics2D类提供了丰富的方法,用于设置颜色、字体、线条宽度、填充、描边和变换等。Graphics2D类还提供了一组方法,用于在图形上绘制文本、形状和图像等。

ImageIO类,它提供了一组用于读取和写入图像文件的静态方法。它支持各种图像格式,包括JPEG、PNG、GIF和BMP等。ImageIO类还提供了一组方法,用于在不同的颜色空间之间进行转换。

使用Java 2D API和ImageIO类,您可以轻松地创建和处理各种类型的图像。您可以使用Java 2D API绘制图形、文本和图像,并使用ImageIO类将它们保存为图像文件或从图像文件中读取。

二、使用步骤

1.读取图像文件

使用ImageIO类的read方法读取图像文件,并将其存储在BufferedImage对象中。

File inputFile = new File("input.jpg");
BufferedImage inputImage = ad(inputFile);

2.创建Graphics2D对象

使用BufferedImage对象的createGraphics方法创建Graphics2D对象。Graphics2D对象允许您在图像上绘制文本和其他形状。

Graphics2D g2d = ateGraphics();

3.添加水印

使用Graphics2D对象的drawString方法添加文本水印。您可以设置文本的位置、字体、颜色和透明度等参数。

String watermarkText = "Watermark";
g2d.Instance(AlphaComposite.SRC_OVER, 0.5f)); // 设置透明度
g2d.drawString(watermarkText, 10, 20); // 在位置(10,20)处绘制水印文本

此代码将名为watermark.png的图像文件添加到输入图像的左上角。

3.保存修改后的图像

使用ImageIO类的write方法将修改后的图像保存到文件中。

File outputFile = new File("output.jpg");
ImageIO.write(inputImage, "jpg", outputFile);

4.清除Graphics2D对象

使用Graphics2D对象的dispose方法释放内存资源。

g2d.dispose();

完整代码

import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;public class Watermark {public static void main(String[] args) {try {// 读取输入图像File inputFile = new File("input.jpg");BufferedImage inputImage = ad(inputFile);// 创建Graphics2D对象Graphics2D g2d = ateGraphics();// 添加文本水印String watermarkText1 = "Watermark 1";g2d.Instance(AlphaComposite.SRC_OVER, 0.5f));g2d.setFont(new Font("Arial", Font.BOLD, 20));g2d.setColor(Color.WHITE);g2d.drawString(watermarkText1, 10, 20);String watermarkText2 = "Watermark 2";g2d.Instance(AlphaComposite.SRC_OVER, 0.5f));g2d.setFont(new Font("Arial", Font.BOLD, 20));g2d.setColor(Color.WHITE);g2d.drawString(watermarkText2, 10, 50);// 添加图像水印File watermarkFile = new File("watermark.png");BufferedImage watermarkImage = ad(watermarkFile);g2d.drawImage(watermarkImage, 0, 0, null);// 保存修改后的图像File outputFile = new File("output.jpg");ImageIO.write(inputImage, "jpg", outputFile);// 清除Graphics2D对象g2d.dispose();} catch (Exception e) {System.out.println("Error: " + e.getMessage());}}
}

本文发布于:2024-01-31 06:34:50,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170665408926280.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:多个   水印   图片   JAVA
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23