다음을 통해 공유


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

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

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

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

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

예시

#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