C# で画像をトリミングする

最近では画像編集が非常に一般的であり、さまざまなケースで、目的の結果を得るために画像を操作する必要があります。プログラマーとして、作成中のアプリケーション内から画像編集機能を実装する場合があります。最近、プログラムで画像をサイズ変更回転反転する方法を取り上げました。今日は、.NET アプリケーションで C# を使用して画像をトリミングする方法を紹介します。シフト値または長方形を使用して画像のトリミングを実行する方法について説明します。

画像をトリミングする C# API - 無料ダウンロード

C# での画像のトリミングには、Aspose.Imaging for .NET を使用します。一般的な形式の画像をシームレスに操作する機能豊富な API です。 API を ダウンロード するか、NuGet を使用して .NET アプリケーションにインストールできます。

PM> Install-Package Aspose.Imaging

C# で画像をトリミングする

Aspose.Imaging for .NET は、画像をトリミングする 2 つの方法を提供します。最初の方法では、左、右、上、および下のシフト値を指定する必要があります。一方、2 番目の方法では、画像の特定の領域を切り取るために四角形を定義します。

次のセクションでは、上記の両方の方法を使用して C# で画像をトリミングする方法を示します。

C# でシフト値を使用して画像をトリミングする

以下は、C# でシフト値を使用して画像をトリミングする手順です。

  • まず、Image.Load() メソッドを使用して RasterImage オブジェクトに画像を読み込みます。
  • パフォーマンスを向上させるためにイメージをキャッシュします。
  • 左、右、上、および下のシフト値を定義します。
  • シフト値を RasterImage.Crop() メソッドに渡して画像をトリミングします。
  • RasterImage.Save()メソッドで切り抜いた画像を保存します。

次のコード サンプルは、C# で画像をトリミングする方法を示しています。

// トリミングする画像を読み込みます。
using (RasterImage rasterImage = (RasterImage)Image.Load("image.png"))
{
    // トリミングする前に、パフォーマンスを向上させるために画像をキャッシュする必要があります。
    if (!rasterImage.IsCached)
    {
        rasterImage.CacheData();
    }

    // 4 辺すべてのシフト値を定義します。
    int leftShift = 10;
    int rightShift = 10;
    int topShift = 50;
    int bottomShift = 50;

    // シフト値に基づいて、画像にトリミングを適用します。 Crop メソッドは、画像の境界を画像の中心に向かってシフトします。
    rasterImage.Crop(leftShift, rightShift, topShift, bottomShift);

    // トリミングした画像を保存します。
    rasterImage.Save("cropped.png");
}

以下は、クロッピングに使用した入力画像です。

C#で画像をトリミング

以下は、結果のトリミングされた画像です。

C# での画像のトリミング

Rectangle を使用した C# 画像のトリミング

長方形を定義して、画像の目的の領域をトリミングすることもできます。次の手順は、C# での四角形を使用した画像のトリミングを示しています。

  • まず、Image.Load() メソッドを使用して RasterImage オブジェクトに画像を読み込みます。
  • 次に、イメージをキャッシュします。
  • Rectangle オブジェクトを作成し、目的のサイズで初期化します。
  • Rectangle オブジェクトを RasterImage.Crop() メソッドに渡して、画像をトリミングします。
  • RasterImage.Save()メソッドで切り抜いた画像を保存します。

次のコード サンプルは、C# で四角形を使用して画像のトリミングを実行する方法を示しています。

// 画像を読み込みます。
using (RasterImage rasterImage = (RasterImage)Image.Load("image.png"))
{
    // トリミングする前に、パフォーマンスを向上させるために画像をキャッシュする必要があります。
    if (!rasterImage.IsCached)
    {
        rasterImage.CacheData();
    }

    // 必要なサイズの Rectangle クラスのインスタンスを作成し、画像をトリミングします。
    Rectangle rectangle = new Rectangle(20, 20, 20, 20);             
    rasterImage.Crop(rectangle);

    // トリミングした画像を保存します。
    rasterImage.Save("cropped.png");
}

C# 用 Imaging Cropping API - 無料ライセンスを取得

無料の一時ライセンスを取得し、評価制限なしで画像をトリミングできます。

画像トリミング アプリケーションを構築する

この記事では、C# で画像をトリミングする方法を学習しました。シフト値または長方形を使用して画像をトリミングする方法をいくつか示しました。これで、画像トリミング アプリケーションを簡単に構築したり、既存のアプリケーションの画像編集機能を強化したりできます。 C# 画像編集 API の詳細については、ドキュメント を参照してください。また、フォーラム を通じて質問を共有することもできます。

関連項目