TIFF 文件的顯著特徵之一是它能夠將多個圖像(每個圖像都有多個通道)存儲為圖像時間堆棧或 z 堆棧中的連續幀。現在在本文中,我們將解釋提取 TIFF 幀、調整其大小並將其單獨保存在存儲器中的步驟。調整圖像在線操作適應新尺寸(寬度和高度),同時保存更新的 TIFF 幀。
調整圖像 API
Aspose.Imaging Cloud SDK for Java 是我們基於 REST 的解決方案,使您能夠以編程方式編輯、操作光柵圖像、圖元文件和 Photoshop 並將其轉換為各種支持的格式。它還提供了處理 TIFF 圖像的功能,我們甚至可以在其中處理單個 TIFF 幀。現在,為了開始使用 SDK,我們需要在 Java 項目中添加它的引用。因此,請在 maven 構建類型項目的 pom.xml 中添加以下詳細信息。
<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 的帳戶,請使用有效的電子郵件地址創建一個免費帳戶。
在 Java 中在線調整圖像大小
在本節中,我們將使用 GetImageFrame API 來開發我們的 TIFF 圖片縮放器。我們還將圖像上傳到雲存儲,並在更新圖像參數後,將修改後的圖像返回到響應流中。請注意,API 使您能夠批量調整照片大小或使用 saveOtherFrames 參數僅調整特定 TIFF 幀的大小。
- 首先,使用個性化客戶端憑證創建 ImagingApi 對象
- 其次,使用 readAllBytes(…) 方法讀取第一個 TIFF 圖像的內容並將其返回到 byte[] 數組
- 第三,創建一個 UploadFileRequest 類的實例,我們在其中傳遞 TIFF 圖像的名稱
- 現在使用 uploadFile(…) 方法將第一個 TIFF 圖像上傳到雲存儲
- 下一步是指定 TIFF 幀索引、新的高度和寬度尺寸以及特定的 tiff 幀索引
- 現在創建一個 GetImageFrameRequest 對象,我們在其中傳遞輸入的 TIFF 圖像名稱和上面定義的屬性
- 調用ImagingAPI類的getImageFrame(…)方法獲取指定的TIFF幀
- 最後,使用 FileOutputStream 對象將提取的幀保存到本地驅動器
// 從 https://dashboard.aspose.cloud/ 獲取 ClientID 和 ClientSecret
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// 創建成像對象
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// 從本地系統加載第一個 TIFF 圖像
File file1 = new File("TiffSampleImage.tif");
byte[] imageStream = Files.readAllBytes(file1.toPath());
// 創建文件上傳請求對象
UploadFileRequest uploadRequest = new UploadFileRequest("input.tiff",imageStream,null);
// 將第一張 TIFF 圖像上傳到雲存儲
imageApi.uploadFile(uploadRequest);
Integer frameId = 0; // Frame number inside TIFF
// 提取框架的新寬度和高度
Integer newWidth = 400;
Integer newHeight = 600;
// 結果僅包含指定的幀而不包含其他幀
Boolean saveOtherFrames = false;
// 創建請求對像以根據指定的詳細信息提取 tiff 幀
GetImageFrameRequest getImageFrameRequest = new GetImageFrameRequest("input.tiff", frameId, newWidth, newHeight,
null, null, null, null, null, saveOtherFrames, null, null);
// 提取的幀在響應流中返回
byte[] updatedImage = imageApi.getImageFrame(getImageFrameRequest);
// 將提取的 TIFF 幀保存在本地存儲中
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Extracted-TIFF.tiff");
fos.write(updatedImage);
fos.close();
上例中使用的示例 TIFF 圖像可以從 TiffSampleImage.tiff 下載。
使用 cURL 命令減小圖像大小
由於 API 的 REST 架構,它也可以通過 cURL 命令訪問。因此,在本節中,我們將討論有關如何使用 cURL 命令減小圖像大小或提取具有特定尺寸的 tiff 幀的詳細信息。現在,第一步是使用以下命令生成 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 令牌後,我們需要執行以下命令來調整 TIFF 幀的大小。
curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/input.tiff/frames/0?newWidth=400&newHeight=600&saveOtherFrames=false" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
-o ResizedFrame.tiff
結論
本文提供了有關如何使用 Java 調整圖像 (TIFF) 大小的簡單但驚人的詳細信息。本教程還解釋了使用 cURL 命令調整 TIFF 幀大小的所有步驟。請注意,另一個測試 API 功能的選項是通過網絡瀏覽器中的 SwaggerUI。此外,如果您有興趣修改 SDK 的源代碼,可以從 GitHub 下載它,因為它是在 MIT 許可下發布的。
然而,產品文檔 是一個了不起的信息來源,可以讓您了解有關 API 其他令人興奮的功能的所有必要細節。最後,如果您在使用 API 時遇到問題,您可以考慮通過免費的 產品支持論壇 聯繫我們尋求快速解決方案。
相關文章
請訪問以下鏈接以了解更多信息: