IT/C#

[C#] PictureBox 이미지 자르고 적용하기

Ella.J 2018. 12. 5. 17:20
728x90
반응형

이미지의 특정 부분만 잘라서 사용하도록 만들어보자.


먼저 pictureBox1pictureBox2를 만들어주고

이미지 resize를 위해 button1 하나를 생성해 주었다.

pictureBox1에는 Size = (450, 450) 의 이미지를 넣고 실행했다.



이미지의 위, 아래로 100씩 잘라내고

Size = (450, 250) 의 이미지로 만들고 싶기 때문에

RESIZE 버튼을 눌러주었을 때의 button1_Click 이벤트 및

resizeImage() 함수를 삽입해 준다.

아래의 코드와 같이 작성해 주었다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
private void button1_Click(object sender, System.EventArgs e)
{
    pictureBox2.Image = resizeImage(pictureBox1.Image);
}
 
 
public static Image resizeImage(Image image)
{
    if(image != null)
    {
        Bitmap croppedBitmap = new Bitmap(image);
        croppedBitmap = croppedBitmap.Clone(
                new Rectangle(0100, image.Width, image.Height - 200), 
                System.Drawing.Imaging.PixelFormat.DontCare);
        return croppedBitmap;
    } else
    {
        return image;
    }
}
cs


resizeImage() 함수에서는

자른 이미지를 저장할 Bitmap croppedBitmap 변수를 선언해주고 image 를 저장한 후 

Clone 함수를 통해 이미지를 복사해서 저장한다.


Rectangle 함수안의 인자들은

(이미지의 x 시작 위치값, 이미지의 y 시작 위치값, 이미지에 새로 적용할 Width, 이미지에 새로 적용할 Height) 이고,

이 경우에서는 (450, 450) 의 이미지에서 위에 100을 자르고 밑에 100을 자르기 때문에

원래 이미지의 (0, 100) 위치에서 부터 이미지 사이즈 (450, 250) 로 잘라내도록 코드를 작성하였다.


이를 적용하고 실행해주면 아래와 같은 화면으로

이미지가 잘리는 것을 확인할 수 있다.




728x90
반응형