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:
コメント