
在線使用 Java Cloud SDK 裁剪圖片
在日常生活中,我們通過數位相機、掃描器等產生大量的影像,並且大多數影像都是在 JPG、PNG、GIF、TIFF 等格式中。現在,我們可能會在圖片中捕捉到不必要的物體/元素。因此,我們經常需要裁剪照片,以移除不需要的主題或不相關的細節。我們可能需要改變影像的長寬比或改善影像的整體構圖。因此,在這篇文章中,我們將學習如何使用 Java Cloud SDK 裁剪影像的詳細資訊。
圖像裁剪 API
為了在 Java 應用程序中裁剪照片,我們將使用 Aspose.Imaging Cloud SDK for Java。該 API 使您能夠指定裁剪矩形的位置和尺寸。在裁剪圖像操作完成後,我們可以選擇將輸出圖像保存為相同格式,或者利用這個機會將裁剪後的圖像保存為不同格式。請訪問以下鏈接以獲取 支持的格式 列表。現在,為了開始,第一步是在 Java 項目中添加其參考,方法是將以下信息包含在 pom.xml 中(maven 构建类型项目)。
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>https://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging-cloud</artifactId>
<version>22.4</version>
</dependency>
</dependencies>
一旦專案設定完成,我們需要從 Cloud Dashboard 獲取客戶憑證。如果您在 Aspose Cloud Dashboard 上沒有帳戶,請通過有效的電子郵件地址創建免費帳戶。現在使用新創建的帳戶登錄,並在 Aspose Cloud Dashboard 上查找/創建客戶 ID 和客戶密鑰。
使用 Java 剪裁圖像
讓我們探討如何在線載入現有圖片和裁剪圖片的詳細信息。首先,我們將裁剪 PNG/croppng 並將更新後的圖片以相同格式保存。該 PNG 將從本地驅動器載入,在線裁剪照片,並將結果輸出保存至雲端存儲。如果我們沒有指定輸出文件名,響應將包含串流圖片。
- 首先,我們需要根據個人化的客戶憑證創建 ImagingApi 的實例。
- 其次,使用 File 物件從本地資料夾中讀取 PNG 檔案
- 建立 byte[] 實例並使用 readAllBytes(…) 方法從檔案中讀取所有位元組
- 現在指定裁剪操作的尺寸和開始裁剪的 X, Y 坐標。
- 隨後,創建一個 CreateCroppedImageRequest 的實例,該實例需要上述所有參數以及結果圖像的名稱。
- 最後,使用 createCroppedImage(…) 方法裁剪圖像。
// 從 https://dashboard.aspose.cloud/ 獲取 ClientID 和 ClientSecret
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// 創建影像物件
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// 從本地磁碟載入檔案
File f = new File("PinClipart.png");
// 讀取 PNG 圖像的內容到位元組陣列
byte[] bytes = Files.readAllBytes(f.toPath());
// 指定裁剪圖像的寬度和高度
int newWidth = 350;
int newHeight = 350;
// 指定圖像裁剪開始的點
int x = 100;
int y = 100;
// 創建裁剪圖像請求,同時指定結果圖像名稱
CreateCroppedImageRequest cropRequest = new CreateCroppedImageRequest(bytes, x,y, newWidth, newHeight, null, "Cropped.png", null);
// 呼叫方法以裁剪 PNG 並將輸出儲存在雲端存儲中
imageApi.createCroppedImage(cropRequest);

在 Java 中裁剪照片

裁剪圖片預覽
使用 cURL 命令裁切照片
由於我們的 API 是基於 REST 架構開發的,因此我們提供了兩種靈活性,即在任何平台上調用 API 時仍能獲得統一的體驗,以及使用 cURL 命令訪問 API。現在為了通過命令行終端使用 cURL 命令來訪問 API,我們需要首先使用以下命令生成 JWT 訪問令牌(基於客戶端憑據)。
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
一旦 JWT 代幣生成後,請調用 CropImage API 以裁剪從雲端儲存加載的 PNG 格式照片。現在,為了將裁剪後的圖像儲存為 JPG 格式,我們在 format 參數中指定 JPG 值。結果裁剪的圖片將在回應串流中返回。
curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/image1.jpg/crop?x=50&y=50&width=200&height=200&format=JPG" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
-o "cropped.jpg"
結論
在這篇文章結束時,我們已經學會了使用 Java 程式碼片段裁剪照片的步驟。與此同時,我們還探索了使用 cURL 命令在線裁剪圖像的選項。除了裁剪圖片操作外,您可以瀏覽 Product Documentation 以了解 API 提供的其他令人興奮的功能。在您使用程式碼片段之前,您可以通過 swagger API Reference 在瀏覽器中探索 API 功能。
然而,我們為用戶提供了完全的靈活性,讓他們能夠從 GitHub 下載圖像處理 API 的完整源代碼(它是根據 MIT 許可證發布的)。如果您在使用 API 時遇到任何問題,您可以考慮通過免費的 product support forum 聯繫我們以獲取快速解決方案。
相關文章
請造訪以下連結以了解更多: