
画像を操作しているときに、画像をさまざまな角度で回転させる必要がある場合があります。さらに、水平および垂直フリップもさまざまな場合に使用されます。どちらも、すべての画像エディタの重要な機能と見なされています。この記事では、C#でプログラムによって画像を回転および反転する方法を学習します。
画像を回転および反転するためのC#.NET API
.NETアプリケーション内から画像を回転および反転するには、Aspose.Imaging for .NETを使用します。さまざまな種類の画像を操作するための幅広い機能を提供する画像処理APIです。さらに、複雑な操作を隠し、画像処理を非常に簡単にします。 APIをダウンロードするか、NuGetを使用して.NETアプリケーションにインストールできます。
PM> Install-Package Aspose.Imaging
C#で画像を回転および反転
画像を回転させるには、回転角を指定する必要があります。最も一般的に使用される角度は、90度、180度、および270度です。それに加えて、画像は水平または垂直に反転されます。 Aspose.Imaging for .NETは、回転と反転を同時に処理します。このために、APIはRotateFlipType列挙型を提供して、回転角とフリップタイプを指定します。画像に対して次の反転/回転操作を実行できます。
- 回転のみ
- フリップのみ
- 回転と反転の両方
次の画像で、上記の各操作を実行する方法を見てみましょう。

C#で画像を回転する
まず、画像を回転させる方法を見てみましょう。次のオプションは、反転せずに画像を回転させるために使用されます。
- Rotate180FlipNone:反転せずに180度回転
- Rotate270FlipNone:反転せずに270度回転
- Rotate90FlipNone:反転せずに90度回転
以下は、C#で画像の回転を実行する手順です。
- まず、Imageクラスを使用して画像ファイルをロードします。
- 次に、Image.RotateFlip(RotateFlipType.Rotate270FlipNone)メソッドを使用して、画像を270度に回転します。
- 最後に、Image.Save(string)メソッドを使用して更新された画像を保存します。
次のコードスニペットは、画像を特定の角度に回転させる方法を示しています。
// Imageのインスタンスに画像をロードします
using (Image image = Image.Load("image.bmp"))
{
// 画像を回転させる
image.RotateFlip(RotateFlipType.Rotate270FlipNone);
// 画像を保存
image.Save("image-rotated.bmp");
}
以下は、このコードを実行した後に取得する回転画像です。

画像を回転させる
C#で画像を反転する
次に、回転せずに画像を反転する方法を見てみましょう。このために、次のRotateFlipTypeメンバーが使用されます。
- RotateNoneFlipX:水平方向の反転で回転なし
- RotateNoneFlipY:垂直反転で回転なし
- RotateNoneFlipXY:水平方向と垂直方向の反転で回転なし
以下は、C#で画像を反転する手順です。
- まず、Imageクラスを使用して画像ファイルをロードします。
- 次に、Image.RotateFlip(RotateFlipType.RotateNoneFlipX)メソッドを使用して、画像を水平方向に反転します。
- 最後に、Image.Save(string)メソッドを使用して更新された画像を保存します。
次のコードサンプルは、.NETアプリケーションで画像を反転する方法を示しています。
// Imageのインスタンスに画像をロードします
using (Image image = Image.Load("image.bmp"))
{
// 画像を反転します
image.RotateFlip(RotateFlipType.RotateNoneFlipX);
// 画像を保存
image.Save("image-flipped.bmp");
}
次のスクリーンショットは、上記のコードスニペットを使用して画像を反転する方法を示しています。

画像を反転する
C#で画像を回転および反転
このセクションでは、画像の回転と反転を同時に行う方法を説明します。これを実現するために、RotateFlipType列挙型の次のメンバーが使用されます。
- Rotate180FlipX:水平方向の反転を伴う180度の回転
- Rotate180FlipXY:水平および垂直方向に反転する180度の回転
- Rotate180FlipY:垂直反転を伴う180度回転
- Rotate270FlipX:水平方向の反転を伴う270度の回転
- Rotate270FlipXY:水平および垂直方向に反転する270度の回転
- Rotate270FlipY:垂直反転を伴う270度の回転
- Rotate90FlipX:水平方向の反転を伴う90度の回転
- Rotate90FlipXY:水平および垂直反転を伴う90度回転
- Rotate90FlipY:垂直反転を伴う90度回転
以下は、C#で画像を回転および反転する手順です。
- まず、Imageクラスを使用して画像ファイルをロードします。
- 次に、画像を180度回転し、Image.RotateFlip(RotateFlipType.Rotate180FlipX)メソッドを使用して水平方向に反転します。
- 最後に、Image.Save(string)メソッドを使用して更新された画像を保存します。
次のC#コードスニペットは、回転と反転を同時に実行する方法を示しています。
// Imageのインスタンスに画像をロードします
using (Image image = Image.Load("image.bmp"))
{
// 画像を回転および反転
image.RotateFlip(RotateFlipType.Rotate180FlipX);
// 画像を保存
image.Save("image-rotated-flipped.bmp");
}
次のスクリーンショットは、回転と反転を適用した後の画像の外観を示しています。

画像を回転および反転
無料のAPIライセンスを取得する
無料の一時ライセンスを取得、評価の制限なしにAspose.Imaging for .NETを使用できます。
結論
この記事では、C#でプログラムによって画像を回転および反転する方法を学習しました。さらに、ステップバイステップガイドとコードサンプルは、画像の回転、画像の反転、および画像の回転と反転を同時に行う方法を示しています。さらに、ドキュメントを使用して、.NET画像処理APIの詳細を調べることができます。また、APIのソースコードサンプルはGitHubからダウンロードできます。ご不明な点がございましたら、フォーラムまでお問い合わせください。