当前位置: 首页 > 图灵资讯 > 技术篇> 使用java实现给图片打水印

使用java实现给图片打水印

来源:图灵教育
时间:2023-12-04 16:46:38

用Java给图片打水印的过程如下:

步骤说明步骤1加载原始图片步骤2创建水印图片步骤3打开原始图片画布步骤4在画布上绘制水印图片步骤5保存绘制水印图片

以下是每一步的具体操作和代码示例:

步骤1:加载原始图片

首先,我们需要加载原始图片。可用于JavaImageIO类的read读取图片文件的方法,并将其转换成图片文件BufferedImage对象。

BufferedImage originalImage = ImageIO.read(new File("original-image.jpg"));
步骤2:创建水印图片

接下来,我们需要创建水印图片。水印图片可以是文本、标志等。在这个例子中,我们以文本水印为例Graphics2D类绘文字并保存为BufferedImage对象。

BufferedImage watermarkImage = new BufferedImage(200, 50, BufferedImage.TYPE_INT_ARGB);Graphics2D graphics = watermarkImage.createGraphics();graphics.setColor(Color.RED);graphics.setFont(new Font("Arial", Font.BOLD, 20));graphics.drawString("Watermark", 10, 30);graphics.dispose();
步骤3:打开原始图片的画布

接下来,我们需要打开原始图片的画布,在画布上获取画布Graphics2D对象。然后,我们可以在画布上画水印图片。

Graphics2D g = originalImage.createGraphics();
步骤4:在画布上绘制水印图片

我们可以在画布上画水印图片时使用Graphics2D对象的drawImage方法。将水印绘制到原始图片的指定位置,以指定水印图片的位置和大小。

g.drawImage(watermarkImage, 10, 10, 200, 50, null);
步骤5:保存绘制水印的图片

最后,我们需要将绘制水印的图片保存到文件中。可以使用ImageIO类的write方法将BufferedImage将对象保存为图片文件。

ImageIO.write(originalImage, "jpg", new File("watermarked-image.jpg"));

完整代码示例:

import java.awt.*;import java.awt.image.BufferedImage;import java.io.File;import javax.imageio.ImageIO;public class ImageWatermarkExample {    public static void main(String[] args) throws Exception {        // 步骤1:加载原始图片        BufferedImage originalImage = ImageIO.read(new File("original-image.jpg"));        // 步骤2:创建水印图片        BufferedImage watermarkImage = new BufferedImage(200, 50, BufferedImage.TYPE_INT_ARGB);        Graphics2D graphics = watermarkImage.createGraphics();        graphics.setColor(Color.RED);        graphics.setFont(new Font("Arial", Font.BOLD, 20));        graphics.drawString("Watermark", 10, 30);        graphics.dispose();        // 步骤3:打开画布的原始图片        Graphics2D g = originalImage.createGraphics();        // 步骤4:在画布上绘制水印图片        g.drawImage(watermarkImage, 10, 10, 200, 50, null);        // 步骤5:保存绘制水印后的图片        ImageIO.write(originalImage, "jpg", new File("watermarked-image.jpg"));    }}

以上是使用Java为图片打印水印的步骤和代码示例。通过加载原始图片、创建水印图片、打开画布、绘制水印图片和保存水印图片,我们可以实现为图片添加水印的功能。我希望这篇文章能帮助你!