이미지 그리기, 위치 지정 및 복제

Image 클래스를 사용하여 래스터 이미지(비트맵) 및 벡터 이미지(메타파일)를 로드하고 표시할 수 있습니다. 이미지를 표시하려면 Graphics 개체와 Image 개체가 필요합니다. Graphics 개체는 Image 개체의 주소를 인수로 수신하는 Graphics::D rawImage 메서드를 제공합니다.

다음 예제에서는 Climber.jpg 파일에서 Image 개체를 생성한 다음 이미지를 표시합니다. 이미지의 왼쪽 위 모서리(10, 10)에 대한 대상 지점은 Graphics::D rawImage 메서드의 두 번째 및 세 번째 매개 변수에 지정됩니다.

Image myImage(L"Climber.jpg");
myGraphics.DrawImage(&myImage, 10, 10);

이전 코드는 특정 파일과 함께 Climber.jpg 다음 출력을 생성했습니다.

사진이 포함된 창의 스크린샷

BMP, GIF, JPEG, Exif, PNG, TIFF, WMF, EMF 및 ICON과 같은 다양한 그래픽 파일 형식에서 Image 개체를 생성할 수 있습니다.

다음 예제에서는 다양한 파일 형식에서 Image 개체를 생성한 다음 이미지를 표시합니다.

Image myBMP(L"SpaceCadet.bmp");
Image myEMF(L"Metafile1.emf");
Image myGIF(L"Soda.gif");
Image myJPEG(L"Mango.jpg");
Image myPNG(L"Flowers.png");
Image myTIFF(L"MS.tif");

myGraphics.DrawImage(&myBMP, 10, 10);
myGraphics.DrawImage(&myEMF, 220, 10);
myGraphics.DrawImage(&myGIF, 320, 10);
myGraphics.DrawImage(&myJPEG, 380, 10);
myGraphics.DrawImage(&myPNG, 150, 200);
myGraphics.DrawImage(&myTIFF, 300, 200);

Image 클래스는 기존 Image, Metafile 또는 Bitmap 개체의 복사본을 만드는 데 사용할 수 있는 Image::Clone 메서드를 제공합니다. Clone 메서드는 Bitmap 클래스에 오버로드되고 변형 중 하나에는 복사할 원본 이미지의 부분을 지정하는 데 사용할 수 있는 원본 사각형 매개 변수가 있습니다. 다음 예제에서는 기존 Bitmap 개체의 위쪽 절반을 복제하여 Bitmap 개체를 만듭니다. 그런 다음 두 이미지가 모두 표시됩니다.

Bitmap* originalBitmap = new Bitmap(L"Spiral.png");
RectF sourceRect(
   0.0f,
   0.0f, 
   (REAL)(originalBitmap->GetWidth()), 
   (REAL)(originalBitmap->GetHeight())/2.0f);

Bitmap* secondBitmap = originalBitmap->Clone(sourceRect, PixelFormatDontCare);

myGraphics.DrawImage(originalBitmap, 10, 10);
myGraphics.DrawImage(secondBitmap, 100, 10);

이전 코드는 특정 파일과 함께 Spiral.png 다음 출력을 생성했습니다.

이미지의 그림과 구형 이미지의 위쪽 절반