반응형
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 | 수직 대칭 이동 후 시계 방향 회전 안 함을 지정합니다. |
'C#' 카테고리의 다른 글
| (C#) Timer: 디지털 시계 만들기 (0) | 2023.05.18 |
|---|---|
| (C#) PictureBox에 이미지 출력하기, SizeMode 속성 (0) | 2023.05.18 |
| (C#) DBConn.cs 클래스 이용: 뷰(view)를 데이터그리드뷰에 출력하기 (2) | 2023.05.07 |
| (C#) 인쇄: 인쇄 미리보기 - PrintPreviewDialog ... (0) | 2023.04.24 |
| (C#) Linq, 구조체(struct), List<T> 응용: 나이 순으로 정렬하기 (0) | 2023.04.24 |