このガイドでは、Java を使用して JPG、PNG、JPEG、GIF の画像形式を WebP に変換する方法を紹介します。このプロセスはシンプルで分かりやすく、既存の Java アプリケーションに簡単に統合できます。単一の画像を変換する必要がある場合でも、複数の画像をバッチ処理する必要がある場合でも、このガイドを使用すると、JPG を WebP に、PNG を WebP に、JPEG を WebP に、GIF を WebP に簡単に変換できます。
JPEG 画像は圧縮性が高く、移植性が高く、ほぼすべてのデバイスと互換性があることがわかっています。また、高解像度の JPEG 画像は鮮やかでカラフルです。同様に、PNG での圧縮はロスレスであり、詳細でコントラストの高い画像に適しています。ただし、WebP 形式は Google によって開発されたもので、Web 上の画像に優れた可逆圧縮と非可逆圧縮を提供する、人気のある最新の画像形式です。通常、JPG、PNG などよりもはるかに小さい (25% ~ 34%) ため、Web サイトの読み込みが速くなります。それでは、Java で JPG を WebP に変換する方法の詳細を見てみましょう。
JPG から WebP REST API
Aspose.Imaging Cloud SDK for Java は、信頼性の高い画像処理および画像変換機能を提供する最高のソリューションの 1 つです。シンプルなコード行を使用して、Java アプリケーションに画像処理機能 (編集および変換) を提供します。この API は、ラスター イメージ、Photoshop ファイル、メタファイル、および WebP 形式を処理できます。この記事の範囲に従って、これを利用して Java アプリケーションで jpg を webp に変換します。最初のステップは、pom.xml (maven ビルド タイプ プロジェクト) に次の情報を含めて、Java プロジェクトに API 参照を追加することです。
<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>
REST API 参照が Java プロジェクトに追加されたら、クラウド ダッシュボード からクライアント資格情報を取得してください。それ以外の場合は、最初に有効なメール アドレスを使用して無料アカウントを登録する必要があります。
JavaでJPGをWebPに変換
このセクションでは、Java コード スニペットを使用した JPG から WebP への変換に関連するすべての詳細について説明します。
- まず、パーソナライズされた資格情報を使用して ImagingApi のオブジェクトを作成します
- 次に、readAllBytes(…) メソッドを使用して JPG 画像を読み込み、返された値を byte[] 配列に渡します。
- 3 番目に、JPEG 画像を引数として指定して UploadFileRequest のインスタンスを作成し、uploadFile(…) メソッドを使用してクラウド ストレージにアップロードします。
- ここで、JPEG 画像名と「webp」形式を引数として取る ConvertImageRequest のオブジェクトを作成します。
- メソッド convertImage(…) を呼び出して、JPG から WebP への変換を実行します。その後、出力は応答ストリームとして返されます
- 最後に、FileOutputStream オブジェクトを使用して、結果の WebP をローカル ドライブに保存します。
// https://dashboard.aspose.cloud/ から ClientID と ClientSecret を取得します。
String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
// イメージング オブジェクトの作成
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// ローカル ドライブから入力 JPEG 画像を読み込む
File file1 = new File("butterfly-yellow.jpeg");
byte[] imageStream = Files.readAllBytes(file1.toPath());
// ファイル アップロード リクエスト オブジェクトの作成
UploadFileRequest uploadRequest = new UploadFileRequest("input.jpg",imageStream,null);
// jpg 画像をクラウド ストレージにアップロードする
imageApi.uploadFile(uploadRequest);
// 出力形式を WebP として指定する
String format = "webp";
// 画像変換リクエスト オブジェクトの作成
ConvertImageRequest convertImage = new ConvertImageRequest("input.jpg", format, null, null);
// JPG を WebP に変換し、応答ストリームで出力を返す
byte[] resultantImage = imageApi.convertImage(convertImage);
// 結果の WebP をローカル ドライブに保存する
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "output.webp");
fos.write(resultantImage);
fos.close();
JavaでのPNGからWebPへ
クラウド ストレージを使用せずに PNG から WebP への変換を実行する方法について詳しく説明しましょう。ソース イメージはローカル ドライブからロードされ、変換後、結果のファイルもローカル ハード ドライブに保存されます。
- まず、パーソナライズされた資格情報を使用して ImagingApi のオブジェクトを作成します
- 次に、readAllBytes(…) メソッドを使用して PNG 画像を読み込み、byte[] 配列に渡します。
- 3 番目に、PNG 画像名と webp 形式を引数として取る CreateConvertedImageRequest のオブジェクトを作成します。
- 次に createConvertedImage(…) メソッドを呼び出して、PNG から WebP への変換を実行します。出力は応答ストリームとして返されます
- 最後に、FileOutputStream オブジェクトを使用して、結果の WenP をローカル ドライブに保存します。
// https://dashboard.aspose.cloud/ から ClientID と ClientSecret を取得します。
String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
// イメージング オブジェクトの作成
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// ローカル ドライブから PNG 画像を読み込む
File file1 = new File("source.png");
byte[] imageStream = Files.readAllBytes(file1.toPath());
// 出力形式を WebP として指定する
String format = "webp";
// 画像変換リクエスト オブジェクトの作成
CreateConvertedImageRequest convertRequest = new CreateConvertedImageRequest(imageStream,format,null,null);
// PNG を WebP に変換し、応答ストリームで出力を返す
byte[] resultantImage = imageApi.createConvertedImage(convertRequest);
// 結果の WebP をローカル ドライブに保存する
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "output.webp");
fos.write(resultantImage);
fos.close();
注:- 結果の WebP をクラウド ストレージに保存するには、CreateConvertedImageRequest のオブジェクトを作成するときに WebP パスの詳細を渡します。このアプローチでは、出力ストリームをローカル ドライブに保存する最後の手順がスキップされます。
cURL コマンドを使用した GIF から WebP への変換
Java コード以外に、cURL コマンドを介して REST API にアクセスすることもできます。したがって、このセクションでは、cURL コマンドを使用して GIF から WebP への変換を実行します。前提条件は、次のコマンドを使用して (クライアント資格情報に基づいて) 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 が生成されたら、次のコマンドを実行して GIF から WebP への変換を実行し、出力をローカル ドライブに保存してください。
curl -X -v GET "https://api.aspose.cloud/v3.0/imaging/UpdateGIFSampleImage.gif/convert?format=webp" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT>" \
-o "output.webp"
結論
この記事では、Java を使用して JPG を WebP に、PNG を WebP に、GIF を WebP に変換するために必要なすべての詳細を提供しました。同時に、cURL コマンドを使用して GIF を WebP に変換する手順も学びました。すばらしい情報源である 製品ドキュメント を参照することを強くお勧めします。 REST API によって現在提供されているその他のエキサイティングな機能について説明します。
さらに、SwaggerUI (Web ブラウザー内) を使用して API 機能をテストすることも検討できます。ソース コードをダウンロードして変更する必要がある場合は、GitHub からアクセスできます (公開されています)。 MIT ライセンスの下で)。最後に、API の使用中に問題が発生した場合は、無料の 製品サポート フォーラム から迅速な解決策を得るために、お気軽にお問い合わせください。
関連記事
詳細については、次のリンクを参照してください。