水印是疊加在照片或圖像上的圖像、徽標、圖案或文本。它可用於識別圖像的創建者。您可以在雲端以編程方式為任何圖像添加水印。本文將重點介紹如何使用 Java 中的 REST API 為圖像添加水印。
本文應涵蓋以下主題:
水印 REST API 和 Java SDK
為了給圖像加水印,我將使用 GroupDocs.Watermark Cloud 的 Java SDK API。它允許您以編程方式添加、刪除、搜索和替換支持格式(如 PDF、Microsoft Word 和 Powerpoint)的圖像和文檔中的水印。目前,它還為 Cloud API 提供 .NET SDK。
通過添加以下 pom.xml 配置,您可以在基於 Maven 的 Java 應用程序中輕鬆使用 GroupDocs.Watermark Cloud。
<repository>
<id>groupdocs-artifact-repository</id>
<name>GroupDocs Artifact Repository</name>
<url>https://repository.groupdocs.cloud/repo</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-watermark-cloud</artifactId>
<version>19.12</version>
<packaging>jar</packaging>
</dependency>
在開始執行步驟和可用代碼示例之前,請從 dashboard 獲取您的 Client ID 和 Client Secret。在代碼中添加您的 ID 和 Secret,如下所示:
String clientId = "da0c487d-c1c0-45ae-b7bf-43eaf53c5ad5";
String clientSecret = "479db2b01dcb93a3d4d20efb16dea971";
String myStorage = "";
Configuration configuration = new Configuration(clientId, clientSecret);
使用 REST API 向圖像添加文本水印
您可以按照以下簡單步驟為照片或圖像文件添加文本水印:
- 上傳the JPG image to the Cloud
- 使用Java為圖像添加文本水印
- 下載the watermarked image
上傳 JPG 圖片
首先,使用下面給出的代碼示例將 JPG 圖像文件上傳到雲端:
// 接口初始化
FileApi apiInstance = new FileApi(clientId, clientSecret);
File fileStream = new File("C:\\Files\\sample.jpg");
// 創建文件上傳請求
UploadFileRequest request = new UploadFileRequest("sample.jpg", fileStream, myStorage);
FilesUploadResult response = apiInstance.uploadFile(request);
結果,JPG 文件將上傳到 Cloud Storage,並可在儀表板的 文件部分 中找到。
使用 Java 將文本水印添加到 JPG 圖像
您可以按照下面給出的步驟以編程方式向 JPEG 圖像添加文本水印。
- 創建 WatermarkApi 實例
- 在FileInfo模型中設置JPEG圖片文件路徑
- 定義 WatermarkOptions 並設置 FileInfo
- 定義 TextWatermarkOptions
- 設置文本、字體系列、字體大小和文本對齊方式
- 設置水印文字前景色
- 定義水印位置
- 定義 WatermarkDetails 並設置 TextWatermarkOptions 和 Position
- 將 WatermarkDetails 設置為列表
- 使用 WatermarkOptions 創建 AddRequest
- 調用WatermarkApi.add()方法獲取結果
以下代碼示例展示瞭如何使用 REST API 將文本作為水印添加到圖像中。
// 接口初始化
WatermarkApi apiInstance = new WatermarkApi(configuration);
// 設置JPG文件路徑
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("sample.jpg");
fileInfo.setStorageName(myStorage);
// 定義水印選項
WatermarkOptions options = new WatermarkOptions();
options.setFileInfo(fileInfo);
// 定義文本水印選項
TextWatermarkOptions textWatermarkOptions = new TextWatermarkOptions();
textWatermarkOptions.setText("Copyright© 2021");
textWatermarkOptions.setFontFamilyName("Arial");
textWatermarkOptions.setFontSize(12d);
textWatermarkOptions.setTextAlignment("Center");
// 設置水印文字顏色
Color color = new Color();
color.setName("White");
textWatermarkOptions.setForegroundColor(color);
// 定義水印細節
WatermarkDetails watermarkDetails = new WatermarkDetails();
watermarkDetails.setTextWatermarkOptions(textWatermarkOptions);
// 設置水印位置
Position position = new Position();
position.setX(180.0);
position.setY(450.0);
watermarkDetails.setPosition(position);
// 設置水印細節
List<WatermarkDetails> watermarkDetailsList = new ArrayList<WatermarkDetails>();
watermarkDetailsList.add(watermarkDetails);
options.setWatermarkDetails(watermarkDetailsList);
// 創建添加水印請求
AddRequest request = new AddRequest(options);
WatermarkResult response = apiInstance.add(request);
System.out.println("Resultant file path: " + response.getPath());
下載更新的圖像
以上代碼示例將帶水印的圖像文件保存在雲端。您可以使用以下代碼示例下載它:
// 接口初始化
FileApi apiInstance = new FileApi(clientId, clientSecret);
// 創建下載文件請求
DownloadFileRequest request = new DownloadFileRequest("watermark/added_watermark/sample_jpg/sample.jpg", "", null);
File response = apiInstance.downloadFile(request);
使用 REST API 將圖像水印添加到圖像
您可以按照以下步驟以編程方式向 JPEG 圖像添加圖像或徽標水印。
- 創建 WatermarkApi 實例
- 在FileInfo模型中設置JPEG圖片文件路徑
- 定義 WatermarkOptions 並設置 FileInfo
- 定義 ImageWatermarkOptions
- 將 PNG 圖像的文件路徑設置為水印
- 定義水印位置
- 定義 WatermarkDetails 並設置 ImageWatermarkOptions 和 Position
- 將 WatermarkDetails 設置為列表
- 使用 WatermarkOptions 創建 AddRequest
- 調用WatermarkApi.add()方法獲取結果
以下代碼示例顯示瞭如何使用 REST API 將圖像作為水印添加到 JPEG 圖像。請按照前面提到的步驟上傳和下載文件。
// 接口初始化
WatermarkApi apiInstance = new WatermarkApi(configuration);
// 設置JPG文件路徑
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("sample.jpg");
fileInfo.setStorageName(myStorage);
// 定義水印選項
WatermarkOptions options = new WatermarkOptions();
options.setFileInfo(fileInfo);
// 定義水印細節
WatermarkDetails watermarkDetails = new WatermarkDetails();
// 定義水印圖像選項
ImageWatermarkOptions imageWatermarkOptions = new ImageWatermarkOptions();
FileInfo image = new FileInfo();
image.setFilePath("sample_watermark.png");
image.setStorageName(myStorage);
imageWatermarkOptions.setImage(image);
// 設置水印位置
Position position = new Position();
position.setX(100.0);
position.setY(450.0);
watermarkDetails.setPosition(position);
// 設置圖像水印選項
watermarkDetails.setImageWatermarkOptions(imageWatermarkOptions);
List<WatermarkDetails> watermarkDetailsList = new ArrayList<WatermarkDetails>();
watermarkDetailsList.add(watermarkDetails);
options.setWatermarkDetails(watermarkDetailsList);
// 創建添加請求
AddRequest request = new AddRequest(options);
WatermarkResult response = apiInstance.add(request);
System.out.println("Resultant file path: " + response.getPath());
在線試用
請嘗試以下使用上述 API 開發的免費在線水印工具。 https://products.groupdocs.app/watermark/jpeg
結論
總之,您已經了解瞭如何向雲端的 JPEG 圖像添加文本或圖像水印。您還學習瞭如何以編程方式將圖像文件上傳到雲端,然後從雲端下載它們。您可以從 文檔 了解有關 GroupDocs.Watermark Cloud API 的更多信息。我們還提供了一個 API 參考 部分,讓您可以直接通過瀏覽器可視化我們的 API 並與之交互。如有任何疑問,請隨時聯繫 支持。