Windows SDK를 사용하여 이미지 조작을 보여 줍니다.
다음 항목에서는 클래스를 사용하여 System.Drawing.Image 이미지 조작을 수행하는 방법을 보여 줍니다.
.NET Framework를 사용하여 이미지 표시
다음 코드 예제에서는 OnPaint 이벤트 처리기를 수정하여 메인 폼 객체에 대한 포인터 Graphics를 검색합니다. 이 OnPaint 함수는 Visual Studio 애플리케이션 마법사를 사용하여 만든 Windows Forms 애플리케이션을 위한 것입니다.
이미지는 클래스로 Image 표시됩니다. .jpg 파일에서 이미지 데이터를 System.Drawing.Image.FromFile 메서드를 사용하여 로드됩니다. 이미지가 폼에 그려지기 전에 이미지에 맞게 폼의 크기가 조정됩니다. 이미지는 System.Drawing.Graphics.DrawImage 메서드를 사용하여 그려집니다.
Graphics 및 Image 클래스는 모두 네임스페이스에 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.Image 클래스와 System.Drawing.Imaging.ImageFormat 열거형을 보여줍니다. 다음 코드는 .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;
}