Aracılığıyla paylaş


Nasıl yapılır: Çizim için Grafik Nesneleri Oluşturma

GDI+ ile çizgi ve şekil çizmeden, metin işlemeden veya görüntüleri görüntüleyip işlemeden önce bir Graphics nesnesi oluşturmanız gerekir. Graphics nesnesi GDI+ çizim yüzeyini temsil eder ve grafik görüntüleri oluşturmak için kullanılan nesnedir.

Grafiklerle çalışmanın iki adımı vardır:

  1. Bir Graphics nesnesi oluşturma.

  2. Çizgi ve şekil çizmek, metin işlemek veya görüntüleri görüntülemek ve işlemek için Graphics nesnesini kullanma.

Grafik Nesnesi Oluşturma

Grafik nesnesi çeşitli yollarla oluşturulabilir.

Grafik nesnesi oluşturmak için

  • Form veya denetimin PaintEventArgs olayında, Paint'un bir parçası olarak grafik nesnesine bir başvuru alın. Genellikle bir denetim için boyama kodu oluştururken grafik nesnesine başvuru elde etme yöntemi budur. Benzer şekilde, PrintPageEventArgsiçin PrintPage olayını işlerken, bir grafik nesnesini PrintDocument özelliği olarak elde edebilirsiniz.

    -veya-

  • Denetimin veya formun çizim yüzeyini temsil eden bir CreateGraphics nesnesine başvuru almak için denetimin veya formun Graphics yöntemini çağırın. Zaten var olan bir form veya denetim üzerinde çizim yapmak istiyorsanız bu yöntemi kullanın.

    -veya-

  • Graphics'den devralan herhangi bir nesneden Image nesnesi oluşturun. Bu yaklaşım, zaten var olan bir görüntüyü değiştirmek istediğinizde kullanışlıdır.

    Aşağıdaki bölümlerde bu işlemlerin her biri hakkında ayrıntılar verebilirsiniz.

Paint Olay İşleyicisinde PaintEventArgs

denetimler için PaintEventHandler veya PrintPageiçin PrintDocument programlama sırasında, PaintEventArgs veya PrintPageEventArgsözelliklerinden biri olarak bir grafik nesnesi sağlanır.

Paint olayındaki PaintEventArgs'den bir Graphics nesnesine başvuru elde etmek için

  1. Graphics nesnesini bildirin.

  2. Graphics'in parçası olarak geçirilen PaintEventArgs nesnesine başvurmak için değişkeni atayın.

  3. Formu veya denetimi boyamak için kod ekleyin.

    Aşağıdaki örnekte, Graphics olayı kapsamında PaintEventArgs’den bir Paint nesnesine nasıl referans verileceği gösterilmektedir.

    Private Sub Form1_Paint(sender As Object, pe As PaintEventArgs) Handles _
       MyBase.Paint
       ' Declares the Graphics object and sets it to the Graphics object
       ' supplied in the PaintEventArgs.
       Dim g As Graphics = pe.Graphics
       ' Insert code to paint the form here.
    End Sub
    
    private void Form1_Paint(object sender,
       System.Windows.Forms.PaintEventArgs pe)
    {
       // Declares the Graphics object and sets it to the Graphics object
       // supplied in the PaintEventArgs.
       Graphics g = pe.Graphics;
       // Insert code to paint the form here.
    }
    
    private:
       void Form1_Paint(System::Object ^ sender,
          System::Windows::Forms::PaintEventArgs ^ pe)
       {
          // Declares the Graphics object and sets it to the Graphics object
          // supplied in the PaintEventArgs.
          Graphics ^ g = pe->Graphics;
          // Insert code to paint the form here.
       }
    

CreateGraphics Yöntemi

Denetimin veya formun CreateGraphics yöntemini, denetimin veya formun çizim yüzeyini temsil eden bir Graphics nesnesine başvuru almak için de kullanabilirsiniz.

CreateGraphics yöntemiyle bir Graphics nesnesi oluşturmak için

  • Üzerinde grafik oluşturmak istediğiniz formun veya denetimin CreateGraphics yöntemini çağırın.

    Dim g as Graphics
    ' Sets g to a Graphics object representing the drawing surface of the
    ' control or form g is a member of.
    g = Me.CreateGraphics
    
    Graphics g;
    // Sets g to a graphics object representing the drawing surface of the
    // control or form g is a member of.
    g = this.CreateGraphics();
    
    Graphics ^ g;
    // Sets g to a graphics object representing the drawing surface of the
    // control or form g is a member of.
    g = this->CreateGraphics();
    

Görüntü Nesnesinden Oluşturma

Ayrıca, Image sınıfından türetilen herhangi bir nesneden grafik nesnesi oluşturabilirsiniz.

Bir Görüntüden Grafik nesnesi oluşturmak için

  • Graphics.FromImage nesnesi oluşturmak istediğiniz Image değişkeninin adını sağlayarak Graphics yöntemini çağırın.

    Aşağıdaki örnekte bir Bitmap nesnesinin nasıl kullanılacağı gösterilmektedir:

    Dim myBitmap as New Bitmap("C:\Documents and Settings\Joe\Pics\myPic.bmp")
    Dim g as Graphics = Graphics.FromImage(myBitmap)
    
    Bitmap myBitmap = new Bitmap(@"C:\Documents and
       Settings\Joe\Pics\myPic.bmp");
    Graphics g = Graphics.FromImage(myBitmap);
    
    Bitmap ^ myBitmap = gcnew
       Bitmap("D:\\Documents and Settings\\Joe\\Pics\\myPic.bmp");
    Graphics ^ g = Graphics::FromImage(myBitmap);
    

Uyarı

Yalnızca 16 bit, 24 bit ve 32 bit .bmp dosyaları gibi dizinlenmemiş .bmp dosyalardan Graphics nesneleri oluşturabilirsiniz. Dizine alınmamış .bmp dosyalarının her pikseli, bir renk tablosunun dizinini tutan dizine alınmış .bmp dosyalarının piksellerinin aksine bir renk içerir.

Şekilleri ve Resimleri Çizme ve Düzenleme

Oluşturulduktan sonra, çizgi ve şekil çizmek, metin işlemek veya görüntüleri görüntülemek ve işlemek için bir Graphics nesnesi kullanılabilir. Graphics nesnesiyle kullanılan asıl nesneler şunlardır:

  • Pen sınıfı— Çizgileri çizmek, şekillerin ana hatlarını çizmek veya diğer geometrik gösterimleri işlemek için kullanılır.

  • Brush sınıfı— Dolgulu şekiller, resimler veya metinler gibi grafik alanlarını doldurmak için kullanılır.

  • Font sınıfı— Metin işlenirken hangi şekillerin kullanılacağına ilişkin bir açıklama sağlar.

  • Color yapısı— Görüntülenecek farklı renkleri temsil eder.

Oluşturduğunuz Grafik nesnesini kullanmak için

Ayrıca bakınız