調整圖像大小

使用 Java 調整 TIFF 圖像的大小

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>http://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 幀大小

調整 TIFF 幀預覽大小

上例中使用的示例 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 時遇到問題,您可以考慮通過免費的 產品支持論壇 聯繫我們尋求快速解決方案。

相關文章

請訪問以下鏈接以了解更多信息: