C#Tips - 드래그드롭으로 사진 불러오기
윈폼에서 드래그 드롭으로 사진을 불러와 사용하려면
1. 먼저 윈폼을 생성하고 윈폼안에
드래그드롭된 사진을 이미지로 표현하려면
picturebox를 생성합니다.
2. 윈폼의 디자인 파트로 이동해서
폼(Form1)의 Properties의 Behavior에서 AllowDrop을 True로 해서
드래그드랍을 인식할 수 있게 한 뒤
3. 폼의 Events 설정으로 이동하여 DragDrop과 DragEnter를 더블클릭하여
핸들러를 생성합니다.
4. 자동 생성된 DragEnter에는
e.Effect = DragDropEffects.Copy; 소스코드를 코딩합니다.
DragEnter 이벤트는 Form으로 마우스가 Drag되어 들어갈 때 발생하면서
e.Effect를 이용하여 해당 시점의 마우스포인터의 모양을 설정할 수 있는데
All, Copy, Link, Move, None, Scroll의 다양한 효과 중에서
None을 제외한 나머지를 사용하시면 드래그드롭을 통해
picturebox에 이미지를 표현할 수 있습니다.
Scroll의 경우는 파일 드래그 시, 드롭할 곳이 스크롤 가능한 공간이라면
스크롤 효과가 적용되어 원하는 곳에 드롭할 수 있게 해줍니다.
5. 자동생성된 DragDrop 함수에는
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);소스코드를 입력하여
드래그드롭된 파일경로들을 string[] files변수에 담아 원하는 용도로 사용할 수 있습니다.
picturebox에 넣기 위해서는 아래와 같이 사용하시면 됩니다.
pictureBox1.Image = Image.FromFile(files[0]);
Image.FromFile(files[0])을 이용하면 파일경로 files[0]를 매개변수로 하여
Image클래스의 객체에 이미지 파일을 할당할 수 있는데
이 객체를 이용하여 Width, Height, Size 속성을 뽑아 올 수 있습니다.