私たちの個人的な生活から公的な生活まで、ラスター画像が含まれています。私たちは、携帯電話やスキャナー、撮像装置など、さまざまな機器に搭載されている各種カメラを利用し、膨大な量の画像データを生成します。現在、圧縮アルゴリズムに応じて、すべてのデバイスが異なる次元とサイズで画像を生成します。ただし、画像 (JPG、PNG、GIF、TIFF など) を統一されたサイズで保存する必要がある場合には、次のようにする必要があります。画像のサイズを変更します。市販されている写真サイズ変更アプリケーションは数多くありますが、オンラインで画像を一括してサイズ変更する必要がある場合には、プログラムによるソリューションが常に実行可能なアプローチです。したがって、この記事では、Java Cloud SDK を使用して画像リサイザーを開発する方法の詳細と手順について説明します。
画像リサイズAPI
画像のサイズを変更するには、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>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>
Aspose Cloud Dashboard のアカウントをお持ちでない場合は、有効なメール アドレスを使用して無料アカウントを作成してください。次に、新しく作成したアカウントを使用してログインし、クラウド ダッシュボードでクライアント ID とクライアント シークレットを検索/作成します。これらの詳細は、次のセクションで説明する認証の目的で必要になります。
Javaで画像のサイズを変更する
このセクションでは、PNG 画像のサイズを変更する手順を説明します。 API はローカル ドライブから画像をロードすることを想定しているため、リクエスト本文で画像を直接渡す必要があります。 png のサイズ変更操作後、outPath パラメータ値を指定することで、更新された画像をクラウド ストレージに保存できます。ただし、値を指定しない場合、応答にはストリーミングされた画像が含まれます。
- パーソナライズされたクライアント認証情報に基づいて ImagingApi のインスタンスを作成する
- File オブジェクトを使用してローカル フォルダーから PNG ファイルを読み取ります
- byte[] インスタンスを作成し、readAllBytes(…) メソッドを使用してファイルからすべてのバイトを読み取ります
- Integer オブジェクトを使用して新しい画像の寸法を指定する
- 次に、結果の画像の名前を指定する CreateResizeImageRequest のインスタンスを作成します。
- 最後に、createResizeImage(…) メソッドを使用して画像のサイズを変更します。
// 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 画像は Winter.gif からダウンロードでき、結果の画像は resultant.jpg からダウンロードできます。
結論
私たちは、Java コード スニペットを使用してオンラインで画像のサイズを変更する驚くべきアプローチを学びました。また、cURL コマンドを使用して品質を落とさずに画像のサイズを変更する方法についても詳しく説明しました。 swagger API リファレンス を使用しながら、Web ブラウザ内の API 機能を調べることもできることに注意してください。 Picture Resizer 機能以外にも、製品ドキュメント から API の他の魅力的な機能を調べて学ぶことができます。それにもかかわらず、すべての Cloud SDK は MIT ライセンスに基づいて公開されているため、GitHub から完全なソース コードをダウンロードすることを検討してもよいでしょう (要件に応じて変更できます)。最後に、API の使用中に問題が発生した場合は、無料の 製品サポート フォーラム を通じて迅速な解決のために当社に連絡することを検討してください。
関連記事
詳細については、次のリンクを参照してください。