画像のサイズ変更

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

私たちの私生活から公的生活までは、ラスター イメージに囲まれています。私たちは、携帯電話やスキャナー、撮像機器など、さまざまな機器に搭載されているさまざまなカメラを使いながら、膨大な量の画像データを生み出しています。現在、圧縮アルゴリズムに応じて、すべてのデバイスが異なる寸法とサイズの画像を生成します。ただし、画像 (JPGPNGGIFTIFF など) を統一された次元で保存する必要がある場合は、画像のサイズを変更します。市場には多数の写真サイズ変更アプリケーションがありますが、オンラインで画像のサイズを一括で変更する必要がある場合は、プログラムによるソリューションが常に実行可能なアプローチです。したがって、この記事では、Java Cloud SDK を使用して画像リサイズを開発する方法の詳細/手順について説明します。

画像サイズ変更 API

Image のサイズを変更するには、Aspose.Imaging Cloud SDK for Java を使用します。 REST ベースのアーキテクチャにより、任意のプラットフォームで API にアクセスし、写真リサイズを開発できます。オンラインで画像のサイズを変更する機能とは別に、画像ファイルを作成、編集、およびさまざまな サポートされているファイル形式 に変換することもできます。開始するには、次の情報を 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>

Aspose Cloud Dashboard のアカウントをお持ちでない場合は、有効なメール アドレスで無料のアカウントを作成してください。新しく作成したアカウントを使用してログインし、クラウド ダッシュボード でクライアント ID とクライアント シークレットを検索/作成します。これらの詳細は、以降のセクションで認証を行うために必要です。

Javaで画像のサイズを変更する

このセクションでは、PNG 画像のサイズを変更する手順について説明します。 API は、ローカル ドライブから画像をロードすることを想定しており、リクエスト本文で画像を直接渡す必要があります。 png 操作のサイズ変更後、outPath パラメーター値を指定することで、更新された画像を Cloud Storage に保存できます。ただし、値を指定しない場合、応答にはストリーミングされた画像が含まれます。

  • パーソナライズされたクライアント資格情報に基づいて ImagingApi のインスタンスを作成する
  • File オブジェクトを使用してローカル フォルダーから PNG ファイルを読み取る
  • byte[] インスタンスを作成し、 readAllBytes(…) メソッドを使用してファイルからすべてのバイトを読み取ります
  • Integer オブジェクトを使用して新しいイメージの次元を指定する
  • ここで、結果の画像の名前を指定する CreateResizedImageRequest のインスタンスを作成します。
  • 最後に createResizedImage(…) メソッドを使用して画像のサイズを変更します
// 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 = 150;
int newHeight = 150;
		    
// 結果の画像名を指定しながら画像のサイズ変更リクエストを作成する
CreateResizedImageRequest resizeRequest = new CreateResizedImageRequest(bytes, newWidth, newHeight, null, "Updated.png", null);

// オンラインで画像のサイズを変更し、出力をクラウド ストレージに保存する
imageApi.createResizedImage(resizeRequest);

cURL コマンドを使用して GIF のサイズを変更する

画像のサイズ変更操作中に、画像の更新された形式を指定することもできます。したがって、このセクションでは、cURL コマンドを使用して、GIF のサイズを変更し、出力を JPG 形式で保存します。そのため、前提条件として、次のコマンドを実行する際に、最初に (クライアント資格情報に基づいて) 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 トークンが生成されたら、ResizeImage API を呼び出して画像のサイズを変更し、出力を JPG 形式でローカル ドライブに保存してください (結果のファイル形式パラメーターはオプションです)。

curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/winter.gif/resize?newWidth=200&newHeight=200&format=JPG" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-o "resultant.jpg"
画像のサイズ変更

GIF プレビューのサイズ変更

元の GIF 画像は winter.gif から、結果の画像は resultant.jpg からダウンロードできます。

結論

Java コード スニペットを使用してオンラインで画像のサイズを変更する驚くべきアプローチを学びました。また、cURL コマンドを使用して品質を落とさずに画像のサイズを変更する方法の詳細についても教えてくれました。 swagger API リファレンス を使用しながら、Web ブラウザー内で API 機能を調べることもできます。 Picture Resizer 機能以外にも、製品ドキュメント から API のその他のエキサイティングな機能を調べて学ぶことができます。それにもかかわらず、すべての Cloud SDK は MIT ライセンスの下で公開されているため、GitHub から完全なソース コードをダウンロードすることを検討してください (要件に応じて変更できます)。最後に、API の使用中に問題が発生した場合は、無料の 製品サポート フォーラム から迅速な解決策を得ることができます。

関連記事

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