본문 바로가기
.Net

C# 이미지(Bitmap) 회전하기

by Dokon Jang 2021. 2. 10.
반응형

이미지(Bitmap)을 각도로 회전하는 간단한 소스입니다.

 

[소스]

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

namespace ImgRotateForm
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Bitmap srcBitmap = new Bitmap(@"d:\temp\earth3d.png");

            pbSrc.Image = srcBitmap;
            pbTrg.Image = RoateImage(srcBitmap, 45);
        }

        // 이미지 회전
        private Bitmap RoateImage(Bitmap src, float angle)
        {
            Bitmap trg = new Bitmap(src.Width, src.Height);

            Graphics g = Graphics.FromImage(trg);
            // 이미지 중심을 (0,0)으로 이동
            g.TranslateTransform(src.Width / 2, src.Height / 2);
            // 회전
            g.RotateTransform(angle);
            // 이미지 중심 원래 자표로 이동
            g.TranslateTransform(-src.Width / 2, -src.Height / 2);
            // 원본 이미지로 그리기
            g.DrawImage(src, new Point(0, 0));

            return trg;
            
        }
    }
}

 

[결과]

반응형

댓글