[C#] 윈폼 Image(이미지) 저장 하는 방법


 

이번 포스팅에서는 실무에서도 많이 쓰이는 기술? 중 하나인 Image 를 사용자가 원하는 경로에 저장하는 방법에 대해서 알아보도록 하겠습니다.

 

저 같은 경우는, 디스플레이 업계에서 프로그래머로 활동중이고 해당 업계와 관련된 프로젝트를 하면서 이미지와 관련된 작업들을 많이 하는데,

 

오늘은 이러한 이미지들을 사용자가 원하는 폴더? 경로에 저장하는 방법에 대해서 알려 드리려고 합니다.

 

그러면 윈폼 프로젝트를 아래와 같이 생성해 주시고, Button 컨트롤 하나를 배치하여 주시기 바랍니다.



위와 같이 Button 컨트롤을 생성 하였다면,


바로 이제 해당 ImageSave 버튼 컨트롤을 클릭하였을 때, 사용자가 원하는 경로에 이미지를 어떻게 저장하는지 소스코드를 통해 보여드리도록 하겠습니다.

 

[Form.cs]


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

3

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace test

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

 

            this.btnSave.Click += BtnSave_Click;

        }

 

        public static FolderBrowserDialog GetSaveFolderDialog()

        {

            FolderBrowserDialog saveFolderDlg = new FolderBrowserDialog();

            saveFolderDlg.RootFolder = Environment.SpecialFolder.Desktop;

 

            return saveFolderDlg;

        }

 

        /// <summary>

        /// 이미지 저장하는 메서드

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        private void BtnSave_Click(Object sender, EventArgs e)

        {

            using (FolderBrowserDialog folderDlg = GetSaveFolderDialog())

            {

                if (folderDlg.ShowDialog(this== DialogResult.OK)

                {

                    this.Cursor = Cursors.WaitCursor;

 

                    string dir = folderDlg.SelectedPath;

 

                    Image image = Image.FromFile("고양이.JPG");

 

                    string fileName = "test.jpg".ToString();

 

                    if(image != null)

                    {

                        string imageSavePath = string.Format(@"{0}\{1}", dir, fileName);

                        image.Save(imageSavePath);

                    }

 

                    MessageBox.Show("Save Complete...");

 

                    this.Cursor = Cursors.Default;

                }

            }

        }

    }

}

 

Colored by Color Scripter

cs

 

간단히 위에 코드 설명을 드리자면

 

ImagSave버튼 컨트롤에 대한 Click 이벤트를 선언하여 주고,


클릭 이벤트 핸들러 메서드 안에는 FolderBrowerDialog를 통하여 사용자가 저장할 경로를 선택하여 해당 경로를 얻어와 저장하려는 이미지를 해당 경로에 Save 해주는 간단한 코드로 구성되어 있습니다.

 

저는 테스트를 바탕화면에 고양이.JPG 이미지 하나를 가지고 이제 C바탕화면에 test.jpg 이름으로 고양이.JPG 이미지가 저장 되게 끔 하여 실행 시켜 보았습니다.

 

아래는 실행 결과 화면입니다.

 


[실행결과 화면]



 

이렇게 바탕화면이 고양이.jpg 이미지가 있습니다.

 

이제 프로그램을 실행 시켜서 버튼을 클릭해 해당 이미지를 test.jpg 이름으로 이미지 저장을 해보겠습니다.


 





이렇게 제대로 이미지가 저장되어 있는 것을 확인하실 수 있습니다.


현재 위에 소스코드는 매우 간단히 작성한 코드라서..

여러가지 에러가 있을 수는 있지만..


실제 실무 코드에서 위의 코드를 기반으로 프로그래밍을 하기 때문에 공부하시면서 응용해 나가시면 될 것 같습니다.

 

부족하지만 읽어주셔서 감사합니다.^^


728x90

이 글을 공유하기

댓글

Designed by JB FACTORY