방법: 이미지 자르기 및 배율 조정
업데이트: 2007년 11월
Graphics 클래스에는 몇 가지 DrawImage 메서드가 있으며, 그 중 일부에는 이미지를 자르고 배율을 조정하는 데 사용할 수 있는 원본 및 대상 사각형 매개 변수가 있습니다.
예제
아래 예제에서는 디스크에 있는 Apple.gif 파일을 사용하여 Image 개체를 만듭니다. 이 코드에서는 원래 크기로 전체 사과 이미지를 그린 다음, Graphics 개체의 DrawImage 메서드를 호출하여 원래 사과 이미지보다 큰 대상 사각형에 사과의 일부분을 그립니다.
DrawImage 메서드에서는 세 번째, 네 번째, 다섯 번째 및 여섯 번째 인수에 지정된 원본 사각형을 조사하여 사과의 어느 부분을 그릴지 결정합니다. 이 예제에서는 사과를 원래 너비 및 높이의 75%로 자릅니다.
DrawImage 메서드에서는 두 번째 인수에 지정된 대상 사각형을 조사하여 자른 사과를 그릴 위치 및 배율을 결정합니다. 이 예제에서 대상 사각형은 원래 이미지보다 너비 및 높이가 30% 더 큽니다.
아래 그림에서는 원래 사과 및 일부를 잘라 배율을 조정한 사과를 보여 줍니다.
Dim image As New Bitmap("Apple.gif")
' Draw the image unaltered with its upper-left corner at (0, 0).
e.Graphics.DrawImage(image, 0, 0)
' Make the destination rectangle 30 percent wider and
' 30 percent taller than the original image.
' Put the upper-left corner of the destination
' rectangle at (150, 20).
Dim width As Integer = image.Width
Dim height As Integer = image.Height
Dim destinationRect As New RectangleF( _
150, _
20, _
1.3F * width, _
1.3F * height)
' Draw a portion of the image. Scale that portion of the image
' so that it fills the destination rectangle.
Dim sourceRect As New RectangleF(0, 0, 0.75F * width, 0.75F * height)
e.Graphics.DrawImage( _
image, _
destinationRect, _
sourceRect, _
GraphicsUnit.Pixel)
Image image = new Bitmap("Apple.gif");
// Draw the image unaltered with its upper-left corner at (0, 0).
e.Graphics.DrawImage(image, 0, 0);
// Make the destination rectangle 30 percent wider and
// 30 percent taller than the original image.
// Put the upper-left corner of the destination
// rectangle at (150, 20).
int width = image.Width;
int height = image.Height;
RectangleF destinationRect = new RectangleF(
150,
20,
1.3f * width,
1.3f * height);
// Draw a portion of the image. Scale that portion of the image
// so that it fills the destination rectangle.
RectangleF sourceRect = new RectangleF(0, 0, .75f * width, .75f * height);
e.Graphics.DrawImage(
image,
destinationRect,
sourceRect,
GraphicsUnit.Pixel);
코드 컴파일
앞의 예제는 Windows Forms에서 사용해야 하며 Paint 이벤트 처리기의 매개 변수인 PaintEventArgs e를 필요로 합니다. Apple.gif를 시스템에서 사용할 수 있는 이미지 파일 이름 및 경로로 바꿔야 합니다.