C#

(C#) PictureBox 이미지 좌우대칭 상하대칭

코딩ABC 2023. 5. 17. 15:28
반응형

RotateFlip() 메서드를 이용해서 이미지를 좌우대칭 또는 상하대칭시킬 수 있습니다.

다음 코드는 버튼을 클릭하면 이미지를 좌우 또는 상하로 대칭시키고, 픽처박스에 이미지를 출력하는 C#코드 입니다.

using System;
using System.Drawing;
using System.Windows.Forms;

namespace WindowsFormsApp2
{
    public partial class Form1 : Form
    {
        Bitmap bmp;
        public Form1()
        {
            InitializeComponent();
            bmp = (Bitmap)Bitmap.FromFile("c:\\temp\\kakao11.png");
            pictureBox1.SizeMode = PictureBoxSizeMode.AutoSize;
            pictureBox1.Image = bmp;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            bmp.RotateFlip(RotateFlipType.RotateNoneFlipY);
            pictureBox1.Image = bmp;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            bmp.RotateFlip(RotateFlipType.Rotate180FlipX);
            pictureBox1.Image = bmp;
        }

        private void button3_Click(object sender, EventArgs e)
        {
            bmp.RotateFlip(RotateFlipType.RotateNoneFlipX);
            pictureBox1.Image = bmp;
        }

        private void button4_Click(object sender, EventArgs e)
        {
            bmp.RotateFlip(RotateFlipType.RotateNoneFlipY);
            pictureBox1.Image = bmp;
        }
    }
}

원본 이미지
이미지 좌우대칭
이미지 상하대칭

 

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   수직 대칭 이동 시계 방향 회전 함을 지정합니다.

 

 

반응형