PictureBoxコントロールのImageプロパティが持つRotateFlipメソッドを使用すると、表示している画像を回転/反転させることができます。
RotateFlipメソッドにはRotateFlipType列挙体の値を指定します。
| メンバ名 | 説明 |
|---|---|
| Rotate180FlipNone | 反転せずに 180 度回転する |
| Rotate180FlipX | 180 度回転してから、水平方向に反転する |
| Rotate180FlipXY | 180 度回転してから、水平方向と垂直方向に反転する |
| Rotate180FlipY | 180 度回転してから、垂直方向に反転する |
| Rotate270FlipNone | 反転せずに 270 度回転する |
| Rotate270FlipX | 270 度回転してから、水平方向に反転する |
| Rotate270FlipXY | 270 度回転してから、水平方向と垂直方向に反転する |
| Rotate270FlipY | 270 度回転してから、垂直方向に反転する |
| Rotate90FlipNone | 反転せずに 90 度回転する |
| Rotate90FlipX | 90 度回転してから、水平方向に反転する |
| Rotate90FlipXY | 90 度回転してから、水平方向と垂直方向に反転する |
| Rotate90FlipY | 90 度回転してから、垂直方向に反転する |
| RotateNoneFlipNone | 回転も反転も行わない |
| RotateNoneFlipX | 回転せずに水平方向に反転する |
| RotateNoneFlipXY | 回転せずに水平方向と垂直方向に反転する |
| RotateNoneFlipY | 回転せずに垂直方向に反転する |
下記は画像を回転/反転させる例です。
VBの例
' フォームロード時の処理
Private Sub Form2_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
'イメージの表示方法を設定(サイズ比率を維持したまま拡大/縮小)
PictureBox1.SizeMode = PictureBoxSizeMode.Zoom
'PictureBoxにイメージを読み込む
PictureBox1.Image = Image.FromFile("Tulips.jpg")
End Sub
' 画像を上下に反転する
Private Sub btnRotateNoneFlipY_Click(sender As System.Object, e As System.EventArgs) Handles btnRotateNoneFlipY.Click
'★★★画像を上下反転する★★★
PictureBox1.Image.RotateFlip(RotateFlipType.RotateNoneFlipY)
PictureBox1.Refresh()
End Sub
' 画像を左右に反転する
Private Sub btnRotateNoneFlipX_Click(sender As System.Object, e As System.EventArgs) Handles btnRotateNoneFlipX.Click
'★★★画像を左右反転する★★★
PictureBox1.Image.RotateFlip(RotateFlipType.RotateNoneFlipX)
PictureBox1.Refresh()
End Sub
' 90度回転する
Private Sub btnRotate90FlipNone_Click(sender As System.Object, e As System.EventArgs) Handles btnRotate90FlipNone.Click
'★★★画像を90度回転する★★★
PictureBox1.Image.RotateFlip(RotateFlipType.Rotate90FlipNone)
PictureBox1.Refresh()
End Sub
C#の例
// フォームロード時の処理
private void Form2_Load(object sender, EventArgs e)
{
// イメージの表示方法を設定(サイズ比率を維持したまま拡大/縮小)
pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
// PictureBoxにイメージを読み込む
pictureBox1.Image = Image.FromFile("Tulips.jpg");
}
// 画像を上下に反転する
private void btnRotateNoneFlipY_Click(object sender, EventArgs e)
{
// ★★★画像を上下反転する★★★
pictureBox1.Image.RotateFlip(RotateFlipType.RotateNoneFlipY);
pictureBox1.Refresh();
}
// 画像を左右に反転する
private void btnRotateNoneFlipX_Click(object sender, EventArgs e)
{
// ★★★画像を左右反転する★★★
pictureBox1.Image.RotateFlip(RotateFlipType.RotateNoneFlipX);
pictureBox1.Refresh();
}
// ★★★画像を90度回転する★★★
private void btnRotate90FlipNone_Click(object sender, EventArgs e)
{
// 画像を90度回転する
pictureBox1.Image.RotateFlip(RotateFlipType.Rotate90FlipNone);
pictureBox1.Refresh();
}
Please follow and like us:

コメント