[Tips][PictureBox] イメージを回転/反転させる

スポンサーリンク

PictureBoxコントロールのImageプロパティが持つRotateFlipメソッドを使用すると、表示している画像を回転/反転させることができます。

RotateFlipメソッドにはRotateFlipType列挙体の値を指定します。

RotateFlipType列挙体
メンバ名説明
Rotate180FlipNone反転せずに 180 度回転する
Rotate180FlipX180 度回転してから、水平方向に反転する
Rotate180FlipXY180 度回転してから、水平方向と垂直方向に反転する
Rotate180FlipY180 度回転してから、垂直方向に反転する
Rotate270FlipNone反転せずに 270 度回転する
Rotate270FlipX270 度回転してから、水平方向に反転する
Rotate270FlipXY270 度回転してから、水平方向と垂直方向に反転する
Rotate270FlipY270 度回転してから、垂直方向に反転する
Rotate90FlipNone反転せずに 90 度回転する
Rotate90FlipX90 度回転してから、水平方向に反転する
Rotate90FlipXY90 度回転してから、水平方向と垂直方向に反転する
Rotate90FlipY90 度回転してから、垂直方向に反転する
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:

コメント

タイトルとURLをコピーしました