以前のブログ投稿では、サイズ変更、反転、回転 などのさまざまな画像編集機能を実装する方法を紹介しました。これらの機能に加えて、画像のトリミングは、画像の不要な領域をトリミングするために非常に使用されます.また、画像をトリミングして、フレーム内の特定のオブジェクトに焦点を合わせます。この記事では、Java でプログラムによって画像をトリミングする方法を学習します。シフト値または長方形を使用して画像をトリミングする方法を示します。
画像をトリミングする Java API - 無料ダウンロード
Aspose.Imaging for Java は、画像を操作するための幅広い機能を提供する素晴らしい画像編集 API です。さらに、さまざまなラスターおよびベクター イメージ形式をサポートしています。この API を使用して、Java アプリケーション内から画像をトリミングします。 API を ダウンロード するか、次の Maven 構成を使用してインストールできます。
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging</artifactId>
<version>22.9</version>
</dependency>
Java で画像をトリミングする
ラスター イメージをトリミングするには、シフト値と四角形の 2 つの方法があります。最初の方法では、画像をトリミングするために左、右、上、および下のシフト値を指定する必要があります。一方、2 番目の方法では、画像の特定の領域を切り取るために四角形を定義します。
Javaで画像をトリミングするための上記の各方法を見てみましょう。
Java でシフト値を使用して画像をトリミングする
以下は、Java でシフト値を使用して画像をトリミングする手順です。
- まず、Image.load() メソッドを使用して RasterImage オブジェクトに画像を読み込みます。
- そうでない場合は、イメージをキャッシュします。
- 左、右、上、および下のシフト値を定義します。
- RasterImage.crop() メソッドを使用して画像をトリミングします。
- RasterImage.save()メソッドで切り抜いた画像を保存します。
次のコード サンプルは、Java で画像をトリミングする方法を示しています。
// 画像を読み込みます。
try (RasterImage rasterImage = (RasterImage) Image.load("image.jpg")) {
// トリミングする前に、パフォーマンスを向上させるために画像をキャッシュする必要があります。
if (!rasterImage.isCached()) {
rasterImage.cacheData();
}
// 4 辺すべてのシフト値を定義します。
int leftShift = 10;
int rightShift = 10;
int topShift = 10;
int bottomShift = 10;
// シフト値に基づいて、画像にトリミングを適用します。収穫方法が変わります
// 画像は画像の中心に向かってバウンドし、結果をディスクに保存します。
rasterImage.crop(leftShift, rightShift, topShift, bottomShift);
// トリミングした画像を保存します。
rasterImage.save("cropped.jpg");
}
以下は、クロッピングに使用した入力画像です。
以下は、結果のトリミングされた画像です。
Rectangle を使用した Java 画像のトリミング
長方形を定義して、画像の目的の領域をトリミングすることもできます。次の手順では、Java で四角形を使用して画像をトリミングする方法を示します。
- まず、Image.load() メソッドを使用して RasterImage オブジェクトに画像を読み込みます。
- そうでない場合は、イメージをキャッシュします。
- Rectangle オブジェクトを作成し、目的のサイズで初期化します。
- RasterImage.crop() メソッドを使用して画像をトリミングします。
- RasterImage.save()メソッドで切り抜いた画像を保存します。
次のコード サンプルは、Java で四角形を使用して画像のトリミングを実行する方法を示しています。
// 画像を読み込みます。
try (RasterImage rasterImage = (RasterImage) Image.load("image.jpg")) {
// トリミングする前に、パフォーマンスを向上させるために画像をキャッシュする必要があります。
if (!rasterImage.isCached()) {
rasterImage.cacheData();
}
// 必要なサイズの Rectangle クラスのインスタンスを作成します。
Rectangle rectangle = new Rectangle(20, 20, 20, 20);
// クロップ画像。
rasterImage.crop(rectangle);
// トリミングした画像を保存します。
rasterImage.save("cropped.jpg");
}
Java 用 Imaging Cropping API - 無料ライセンスを取得
無料の一時ライセンスを取得し、評価制限なしで画像をトリミングできます。
結論
この記事では、Java で画像をトリミングする方法を学びました。シフト値または長方形を使用して画像をトリミングする方法をいくつか示しました。さらに、ドキュメント を使用して、Java 画像処理 API について詳しく調べることができます。また、フォーラム を通じて質問を共有することもできます。