그래픽 작업(C++/CLI)

Windows SDK를 사용하여 이미지 조작을 보여 줍니다.

다음 항목에서는 클래스를 사용하여 System.Drawing.Image 이미지 조작을 수행하는 방법을 보여 줍니다.

.NET Framework를 사용하여 이미지 표시

다음 코드 예제에서는 On그림판 이벤트 처리기를 수정하여 기본 양식의 Graphics 개체에 대한 포인터를 검색합니다. 이 OnPaint 함수는 Visual Studio 애플리케이션 마법사를 사용하여 만든 Windows Forms 애플리케이션을 위한 것입니다.

이미지는 클래스로 Image 표시됩니다. 이미지 데이터는 메서드를 사용하여 .jpg 파일에서 로드됩니다 System.Drawing.Image.FromFile . 이미지가 폼에 그려지기 전에 이미지에 맞게 폼의 크기가 조정됩니다. 이미지 그리기는 메서드를 사용하여 System.Drawing.Graphics.DrawImage 수행됩니다.

GraphicsImage 클래스는 모두 네임스페이스에 System.Drawing 있습니다.

예시

#using <system.drawing.dll>

using namespace System;
using namespace System::Drawing;

protected:
virtual Void Form1::OnPaint(PaintEventArgs^ pe) override
{
    Graphics^ g = pe->Graphics;
    Image^ image = Image::FromFile("SampleImage.jpg");
    Form::ClientSize = image->Size;
    g->DrawImage( image, 0, 0, image->Size.Width, image->Size.Height );
}

.NET Framework를 사용하여 셰이프 그리기

다음 코드 예제에서는 클래스를 Graphics 사용 하 여 기본 폼에 대 한 개체에 대 한 포인터를 검색 하는 Graphics 이벤트 처리기를 수정 OnPaint 합니다. 이 포인터는 폼의 배경색을 설정하고 및 메서드를 사용하여 System.Drawing.Graphics.DrawLineDrawArc 선과 호를 그리는 데 사용됩니다.

예시

#using <system.drawing.dll>
using namespace System;
using namespace System::Drawing;
// ...
protected:
virtual Void Form1::OnPaint(PaintEventArgs^ pe ) override
{
   Graphics^ g = pe->Graphics;
   g->Clear(Color::AntiqueWhite);

   Rectangle rect = Form::ClientRectangle;
   Rectangle smallRect;
   smallRect.X = rect.X + rect.Width / 4;
   smallRect.Y = rect.Y + rect.Height / 4;
   smallRect.Width = rect.Width / 2;
   smallRect.Height = rect.Height / 2;

   Pen^ redPen = gcnew Pen(Color::Red);
   redPen->Width = 4;
   g->DrawLine(redPen, 0, 0, rect.Width, rect.Height);

   Pen^ bluePen = gcnew Pen(Color::Blue);
   bluePen->Width = 10;
   g->DrawArc( bluePen, smallRect, 90, 270 );
}

.NET Framework를 사용하여 이미지 회전

다음 코드 예제에서는 클래스를 System.Drawing.Image 사용하여 디스크에서 이미지를 로드하고, 90도 회전하고, 새 .jpg 파일로 저장하는 방법을 보여 줍니다.

예시

#using <system.drawing.dll>

using namespace System;
using namespace System::Drawing;

int main()
{
   Image^ image = Image::FromFile("SampleImage.jpg");
   image->RotateFlip( RotateFlipType::Rotate90FlipNone );
   image->Save("SampleImage_rotated.jpg");
   return 0;
}

.NET Framework를 사용하여 이미지 파일 형식 변환

다음 코드 예제에서는 클래스 및 이미지 파일을 변환 하 고 System.Drawing.Imaging.ImageFormat 저장 하는 데 사용 하는 열거형을 보여 System.Drawing.Image 줍니다. 다음 코드는 .jpg 파일에서 이미지를 로드한 다음 .gif 및 .bmp 파일 형식으로 저장합니다.

예시

#using <system.drawing.dll>

using namespace System;
using namespace System::Drawing;
using namespace System::Drawing::Imaging;

int main()
{
   Image^ image = Image::FromFile("SampleImage.jpg");
   image->Save("SampleImage.png", ImageFormat::Png);
   image->Save("SampleImage.bmp", ImageFormat::Bmp);

   return 0;
}

그래픽 프로그래밍 시작

GDI+ 관리 코드 정보

참고 항목

C++/CLI를 사용한 .NET 프로그래밍 (Visual C++)

System.Drawing