본문 바로가기
프로그래밍 언어/C#

[C# - WinForm ] 이미지 불러오기, 저장하기

by 티옌.liy 2018. 10. 21.


이미지 불러오기


이미지를 불러오는 방법으로는 크게 3가지 방법이 있습니다.


1. 컨트롤에 직접 이미지를 불러오기.

2. 버튼 등의 이벤트 발생 시 이미지 불러오기.

3. 다이얼로그를 통해 이미지 불러오기.



예시를 위해 새 WinForm에 PictureBox 컨트롤과 Button 컨트롤을 추가했습니다.



1. 컨트롤에 직접 이미지를 불러오기.


처음 실행했을때부터 이미지가 출력되어 있기를 원할 때 주로 사용합니다.



PictureBox 컨트롤에 디렉토리 경로의 이미지를 Load 합니다.

PictureBox.Load(@" 디렉토리 경로 ") ;


Load한 이미지 크기를 PictureBox 컨트롤 크기와 동일하게 맞추어 줍니다.

PictureBox.SizeMode = PictureBoxSizeMode.StretchImage;



실행하면 아래와 같이 등록한 이미지가 화면에 출력됩니다.




2. 버튼 등의 이벤트 발생 시 이미지 불러오기.


특정 이벤트가 발생했을때 해당 이미지가 출력되기를 원할 때 주로 사용합니다.



소스코드는 위의 방법과 같습니다.

해당하는 이벤트 함수블럭안에 이미지를 불러오기를 하면 됩니다.


실행후 '이미지 등록' 버튼을 누르면 해당 이미지가 출력됩니다.





3. 다이얼로그를 통해 이미지 불러오기.


특정 이미지를 찾아서 불러오기를 원할 때 주로 사용합니다.




선택한 이미지를 담기위한 지역변수를 생성합니다.

string image_file = string.Empty;


이미지를 선택하기 위한 다이얼로그를 생성합니다.

OpenFileDialog dialog = new OpenFileDialog();


다이얼로그를 열었을때 보여줄 초기 위치를 설정합니다.

dialog.InitialDirectory = @"D:\";


다이얼로그의 결과값에 따라 처리를 해줍니다.

OK : 선택한 이미지의 값을 image_file 변수에 대입합니다.

Cencel : 해당 이벤트를 종료합니다.

if (dialog.ShowDialog() == DialogResult.OK)

{

     image_file = dialog.FileName;

}

else if (dialog.ShowDialog() == DialogResult.Cancel)

{

     return;

}


PictureBox 컨트롤에 선택한 이미지를 넣습니다.

PictureBox.Image = Bitmap.FromFile(image_file);



원하는 이미지를 선택한 후 '열기(O)' 버튼을 누르면 해당 이미지가 출력됩니다.




이미지 저장하기



예시를 위해 이미지 저장 버튼을 추가했습니다.





저장할 이미지의 디렉토리 경로를 문자열로 생성합니다.

string save_route = @"D:\TestImageForder";


지정한 경로에 실제로 디렉토리가 있는지 확인합니다.

!System.IO.Directory.Exists(save_route)


경로에 디렉토리가 없다면 만들어주고 있다면 만들지 않습니다.

System.IO.Directory.CreateDirectory(save_route);


PictureBox의 이미지를 저장합니다.  ( 경로 + "\\저장이미지 이름" , 이미지 포맷 ) ;

PictureBox.Image.Save(save_route + "\\test_image.png", System.Drawing.Imaging.ImageFormat.Png);



'이미지 저장' 버튼을 누르면 오른쪽 사진과 같이 저장됩니다.


'프로그래밍 언어 > C#' 카테고리의 다른 글

[C# - WPF] 음악파일 재생 방법  (0) 2018.10.30
[ C#- WPF ] 기초 이론  (0) 2018.10.29
[C# - WCF] WCF란?  (0) 2018.10.29
[C# - WinForm ] 새 Excel 파일 생성법  (0) 2018.10.26

댓글