Aracılığıyla paylaş


Grafik İşlemleri (C++/CLI)

Windows SDK'sını kullanarak görüntü işlemeyi gösterir.

Aşağıdaki konular, görüntü işleme gerçekleştirmek için sınıfının kullanımını System.Drawing.Image gösterir.

.NET Framework ile Görüntü Görüntüleme

Aşağıdaki kod örneği, ana formun nesnesine bir işaretçi Graphics almak için OnPaint olay işleyicisini değiştirir. İşlev OnPaint , büyük olasılıkla Visual Studio uygulama sihirbazıyla oluşturulmuş bir Windows Forms uygulamasına yöneliktir.

Görüntü sınıfı tarafından Image temsil edilir. Görüntü verileri yöntemi kullanılarak bir .jpg dosyasından System.Drawing.Image.FromFile yüklenir. Resim forma çizilmeden önce, form resme uyum sağlamak için yeniden boyutlandırılır. Görüntünün çizimi yöntemiyle System.Drawing.Graphics.DrawImage gerçekleştirilir.

Graphics ve Image sınıflarının her ikisi de ad alanındadırSystem.Drawing.

Örnek

#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 ile Şekiller Çizme

Aşağıdaki kod örneği, ana formun Graphics nesnesine bir işaretçi almak üzere olay işleyicisini Graphics değiştirmek OnPaint için sınıfını kullanır. Bu işaretçi daha sonra formun arka plan rengini ayarlamak ve ve DrawArc yöntemlerini kullanarak System.Drawing.Graphics.DrawLine bir çizgi ve yay çizmek için kullanılır.

Örnek

#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 ile Görüntüleri Döndürme

Aşağıdaki kod örneği, diskten görüntü yüklemek, 90 derece döndürmek ve yeni bir .jpg dosyası olarak kaydetmek için sınıfının kullanımını System.Drawing.Image gösterir.

Örnek

#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 ile Görüntü Dosyası Biçimlerini Dönüştürme

Aşağıdaki kod örneği, görüntü dosyalarını dönüştürmek ve System.Drawing.Imaging.ImageFormat kaydetmek için kullanılan sınıfı ve numaralandırmayı gösterirSystem.Drawing.Image. Aşağıdaki kod, bir .jpg dosyasından bir görüntü yükler ve hem .gif hem de .bmp dosya biçimlerinde kaydeder.

Örnek

#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;
}

Grafik Programlamaya Başlarken

GDI+ Yönetilen Kodu Hakkında

Ayrıca bkz.

C++/CLI (Visual C++) ile .NET Programlama

System.Drawing