画像のサイズ変更

Java を使用して TIFF 画像のサイズを変更する

TIFF ファイルの優れた機能の 1 つは、複数の画像 (それぞれが複数のチャネルを持つ) を、画像のタイム スタックまたは z スタックの連続フレームとして保存できることです。この記事では、TIFF 画像からフレームを抽出し、サイズを変更してストレージに個別に保存する方法を説明します。サイズ変更操作には、指定された TIFF フレームの新しい寸法 (幅と高さ) が必要です。

画像のサイズ変更 API

Aspose.Imaging Cloud SDK for Java は、REST ベースのソリューションであり、ラスター、メタファイル、フォトショップをさまざまな サポートされているフォーマット にプログラムで編集、操作、および変換する機能を提供します。同時に、個々の TIFF フレームで作業できる TIFF 画像を操作する機能も提供します。 SDK の使用を開始するには、pom.xml (maven ビルド タイプ プロジェクト) に次の情報を含めて、Java プロジェクトにその参照を追加する必要があります。

<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 のアカウントを持っていない場合は、有効な電子メール アドレスから無料のアカウントを作成してください。新しく作成したアカウントを使用してログインし、Aspose Cloud Dashboard でクライアント ID とクライアント シークレットを検索/作成します。

Javaで画像をオンラインでサイズ変更

このセクションでは、GetImageFrame API を使用して TIFF 画像リサイザーを開発します。この API リクエストは URL のパスとして画像名を取得するため、まず画像を Cloud Storage にアップロードする必要があります。画像パラメーターを更新した後、API は応答で更新された画像を返します。また、saveOtherFrames パラメータを使用して特定の TIFF フレームのみのサイズを変更する必要があるかどうかを指定できるだけでなく、写真のサイズを一括変更する機能も利用できます。

  • まず、パーソナライズされたクライアント資格情報に基づいて ImagingApi のオブジェクトを作成します
  • 次に、readAllBytes(…) メソッドを使用して最初の TIFF イメージのコンテンツを読み取り、byte[] 配列に渡します。
  • 3 番目に、クラウド ストレージ上の TIFF の名前を指定する UploadFileRequest クラスのインスタンスを作成します。
  • uploadFile(…) メソッドを使用して、最初の TIFF 画像をクラウド ストレージにアップロードします。
  • TIFF フレーム インデックス、抽出されたフレームの新しい高さと幅を指定し、指定したフレームのみのサイズ変更を指定します
  • ここで、入力 TIFF 画像と上記で定義されたプロパティを指定する GetImageFrameRequest のオブジェクトを作成します。
  • 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 クラウド SDK を使用して画像 (TIFF) のサイズを変更する方法について、いくつかの驚くべき詳細を提供しました。 Java コード スニペットを使用して TIFF フレームのサイズを変更する手順を学習し、cURL コマンドを使用してオンラインで画像のサイズを変更するオプションを調べました。また、Web ブラウザー内の SwaggerUI を介して、API の有望な機能をテストすることを検討することもできます。また、SDK のソース コードを変更する場合は、GitHub からダウンロードできます (すべての Cloud SDK は MIT ライセンスの下で開発されています)。

それにもかかわらず、製品ドキュメント は、API が提供するその他のエキサイティングな機能について学ぶための素晴らしい情報源です。 製品サポート フォーラム

関連記事

詳細については、次のリンクを参照してください。