日常的に、私たちはデジタル カメラやスキャナーなどで大量の画像を作成していますが、その大部分は JPG、PNG、GIF、TIFF です。など。画像内の不要なオブジェクト/要素をキャプチャしている可能性があります。そのため、不要な被写体や無関係なディテールを画像から削除するために、写真をトリミングする必要があることがよくあります。画像の縦横比を変更したり、画像の全体的な構成を改善したりする必要がある場合があります。したがって、この記事では、Java Cloud SDK を使用して画像をトリミングする方法の詳細を学習します。
画像クロップ API
Java アプリケーションで写真をトリミングするには、Aspose.Imaging Cloud SDK for Java を使用します。 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 のアカウントをお持ちでない場合は、有効なメール アドレスから無料のアカウントを作成してください。新しく作成したアカウントを使用してログインし、Aspose Cloud Dashboard でクライアント ID とクライアント シークレットを検索/作成します。
Java を使用して画像をトリミングする
既存の画像を読み込んで画像をオンラインでトリミングする方法の詳細を調べてみましょう。まず、PNG/croppng をトリミングし、更新された画像を同じ形式で保存します。 PNG はローカル ドライブから読み込まれ、オンラインで写真がトリミングされ、結果の出力がクラウド ストレージに保存されます。出力ファイル名を指定しない場合、応答にはストリーミングされた画像が含まれます。
- まず、パーソナライズされたクライアント資格情報に基づいて ImagingApi のインスタンスを作成する必要があります。
- 次に、File オブジェクトを使用してローカル フォルダーから PNG ファイルを読み取ります。
- byte[] インスタンスを作成し、 readAllBytes(…) メソッドを使用してファイルからすべてのバイトを読み取ります
- トリミング操作を開始する点に関して、寸法と X、Y 座標を指定します。
- その後、上記のすべてのパラメーターと結果の画像の名前を必要とする CreateCroppedImageRequest のインスタンスを作成します。
- 最後に、createCroppedImage(…) メソッドを使用して画像をトリミングします。
// 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 = 350;
int newHeight = 350;
// 画像のトリミングを開始するポイントを指定します
int x = 100;
int y = 100;
// 結果の画像名を指定してクロップ画像リクエストを作成する
CreateCroppedImageRequest cropRequest = new CreateCroppedImageRequest(bytes, x,y, newWidth, newHeight, null, "Cropped.png", null);
// メソッドを呼び出して PNG をクロップし、出力をクラウド ストレージに保存する
imageApi.createCroppedImage(cropRequest);
cURL コマンドを使用して写真をトリミングする
当社の API は REST アーキテクチャで開発されているため、2 つの柔軟性を提供します。つまり、任意のプラットフォームで API を呼び出す場合でも統一されたエクスペリエンスを取得し、cURL コマンドを使用して API にアクセスします。コマンド ライン ターミナルで cURL コマンドを使用して API にアクセスするには、まず次のコマンドを使用して (クライアント資格情報に基づいて) 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 トークンが生成されたら、CropImage API を呼び出して、クラウド ストレージから PNG 形式で読み込まれた写真をトリミングしてください。切り取った画像を JPG 形式で保存するために、format パラメータに対して JPG 値を指定しています。結果のトリミング画像は、応答ストリームで返されます。
curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/image1.jpg/crop?x=50&y=50&width=200&height=200&format=JPG" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
-o "cropped.jpg"
結論
この記事の終わりまでに、Java コード スニペットを使用して写真をトリミングする手順を学習しました。同時に、cURL コマンドを使用してオンラインで画像をトリミングするオプションも調査しました。画像の切り抜き操作以外にも、製品ドキュメント を調べて、API が提供するその他の興味深い機能について学ぶことができます。コード スニペットを使用する前に、swagger API リファレンス でブラウザー内の API 機能を調べることができます。
それにもかかわらず、GitHub (MIT ライセンスで公開されています) から画像処理 API の完全なソース コードをダウンロードできるようにすることで、ユーザーに完全な柔軟性を提供します。 API の使用中に問題が発生した場合は、無料の 製品サポート フォーラム から迅速な解決策を得ることができます。
関連記事
詳細については、次のリンクを参照してください。