担心如何使用 Java 以编程方式在图像上写入文本?在本文中,我们将学习使用 Java 为图像添加文本和图像水印。以前,我们已经在另一个 post 中看到了使用 C# 的相同内容。

使用Java将文本水印添加到PNG图像

有两种方法可以为图像添加水印。您想要添加带有个性化文本的水印或在源图像上添加图像水印。我们将看到这两种情况。

Java 文本和图像水印 API

在下面的示例中,我们将使用 GroupDocs.Watermark for Java API 为 JPG 和 PNG 图像添加基于文本和图像的水印。如果您从下载部分 下载 水印 API 或使用同一页面中提到的配置将其集成到基于 Maven 的应用程序中会更好。

使用 Java 将文本添加到图像作为水印

按照下面提到的步骤和 java 代码,我们可以快速将文本添加到任何图像文件中作为水印。我使用相同的步骤和下面提到的代码为以下 JPG 和 PNG 图像添加了水印。

使用 Java 将文本水印添加到 JPG 图像

目前,除了显示的 JPGPNG 之外,此 Java API 还支持 BMP、GIF、JP2、TIFF 和 WebP 图像格式,以便为其添加水印。

  • 使用个性化的文本和样式实例化 TextWatermark 对象。
  • 调整文字水印设置。
  • 使用源图像实例化 Watermarker
  • 使用 add 方法在图片中插入水印。
  • 使用 save 方法保存输出图像。

这是将文本水印添加到 JPG 图像的 Java 源代码。如果我们需要将水印应用到 JPG 以外的图像上,则不需要大的改动。只需为该图像提供 Watermarkersave 方法的扩展名。就是这样。

我们还可以更改水印文本的样式方向外观

// 使用 Java 将文本水印添加到 PNG
TextWatermark watermark = new TextWatermark("GroupDocs", new Font("Arial", 30, FontStyle.Bold | FontStyle.Italic));

// 设置水印属性
watermark.setForegroundColor(Color.getBlack());
watermark.setTextAlignment(TextAlignment.Right);
watermark.setRotateAngle(-30);
watermark.setOpacity(0.4);
watermark.setX(70);
watermark.setY(70);

// 将水印添加到源 PNG 图像
Watermarker watermarker = new Watermarker(Constants.PNG_GD);
watermarker.add(watermark);
watermarker.save(Constants.OUTPUT_PNG_PATH);
watermarker.close();

使用 Java 在图像上插入图像水印

使用 Java 将图像水印添加到 JPG 图像

除了向图像添加文本外,我们还可以在源图像上添加图像作为水印。按照上面提到的类似步骤,但现在您必须使用 ImageWatermark 类而不是之前使用的 TextWatermark 在 JPG 和 PNG 图像上添加文本。

这个 image 是使用下面提到的 Java 源代码创建的,并展示了我们如何在源 JPG 图像上添加 PNG 图像水印:

// 使用Java将PNG图像水印添加到JPG
ImageWatermark watermark = new ImageWatermark(Constants.Watermark_PNG);
watermark.setX(20);
watermark.setY(80);
// 将水印添加到源 JPG 图像并保存输出
Watermarker watermarker = new Watermarker(Constants.JPG_IMAGE);
watermarker.add(watermark);
watermarker.save(Constants.JPG_IMAGE_OUTPUT);
watermark.close();
watermarker.close();

结论

我们已经了解了如何使用 Java 以编程方式在任何图像上添加文本和图像作为水印。此外,我们更改了水印文本的文本样式和方向。

您可以浏览 documentation 以了解 GroupDocs.Watermark for Java 的更多功能。如有不明之处,可直接联系免费支持快速回复,

也可以看看