在Java中為圖像添加水印

水印是保護內容和聲明版權的一種便捷方式。通過將水印應用於數字文檔或圖像,您可以避免未經授權的使用或盜竊。據此,本文介紹瞭如何在 Java 應用程序中為圖像自動添加水印功能。特別是,您將學習如何使用 Java 為圖像添加水印。這在您需要向一批 圖像(包括 PNG、JPG 和 BMP)中添加水印時尤其有用。

用於在圖像中添加水印的 Java API - 免費下載

為了給圖像添加水印,我們將使用 Aspose.Imaging for Java。它是一種圖像處理 API,可讓您從 Java 應用程序中處理各種圖像格式。您可以 下載 API 的 JAR 或使用以下配置將其安裝在基於 Maven 的應用程序中。

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-imaging</artifactId>
    <version>20.12</version>
    <classifier>jdk16</classifier>
</dependency>

在 Java 中為圖像添加水印的步驟

Aspose.Imaging for Java 使圖像加水印變得如此簡單,只需幾行代碼即可完成。以下是用 Java 在圖像中添加水印所需的步驟。

  • 從磁盤加載圖像文件。
  • 創建水印並設置其屬性。
  • 為圖像應用水印。
  • 將圖像保存到所需位置。

現在讓我們用 Java 編寫代碼來為圖像添加水印。

在 Java 中為圖像添加水印

以下是使用 Aspose.Imaging 為圖像添加水印的步驟。

以下代碼示例顯示瞭如何在 Java 中為圖像添加水印。

// 載入圖片
com.aspose.imaging.Image image = com.aspose.imaging.Image.load("image.png");

// 創建並初始化 Graphics 類的實例
Graphics graphics= new Graphics(image);

// 創建字體實例
Font font = new Font("Times New Roman", 16, FontStyle.Bold);

// 創建 SolidBrush 實例並設置其屬性
SolidBrush brush = new SolidBrush();
brush.setColor(Color.getBlack());
brush.setOpacity(100);

// 在特定點使用 SolidBrush 和 Font 對象繪製字符串
graphics.drawString("Watermark by Aspose.Imaging for Java", font, brush, new PointF(image.getWidth()-100, image.getHeight()-100));

// 保存圖片
image.save("watermarked-image.png");

Java中圖像的對角線水印

在某些情況下,水印會以對角線方式應用於圖像。對於這種情況,Aspose.Imaging for Java 提供了水印轉換選項,您可以使用這些選項旋轉水印。以下是向圖像添加對角線水印的步驟。

以下代碼示例顯示瞭如何在 Java 中向圖像添加對角線水印。

// 載入圖片
com.aspose.imaging.Image image = com.aspose.imaging.Image.load("image.png");

// 創建並初始化 Graphics 類的實例
Graphics graphics= new Graphics(image);

// 創建字體實例
Font font = new Font("Times New Roman", 16, FontStyle.Bold);

// 創建 SolidBrush 實例並設置其屬性
SolidBrush brush = new SolidBrush();
brush.setColor(Color.getBlack());
brush.setOpacity(100);

Size sz = graphics.getImage().getSize();
 // 創建一個 Matrix 類的對象進行轉換
Matrix matrix = new Matrix();

// 先平移再旋轉                
matrix.translate(sz.getWidth() / 2, sz.getHeight() / 2);             
matrix.rotate(-45.0f);

// 通過矩陣設置變換
graphics.setTransform(matrix);

// 在特定點使用 SolidBrush 和 Font 對象繪製字符串
graphics.drawString("Watermark by Aspose.Imaging for Java", font, brush, 0, 0);

// 保存圖片
image.save("watermarked-image.png");

為圖像添加水印的最佳 Java API - 獲取免費許可證

您可以獲得免費的臨時許可證,以便在沒有評估限制的情況下試用 API。

結論

水印用於保護數字文檔和圖像免遭未經授權或非法使用。為了保護數字圖像,本文介紹瞭如何使用 Java 為圖像添加水印。此外,您還了解瞭如何將轉換應用於水印。您可以使用 文檔 探索有關 Java 圖像處理 API 的更多信息。

也可以看看