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 nesne oluşturmanız gerekir. Graphics nesne bir 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. Graphics Nesne oluşturma.

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

Grafik Nesnesi Oluşturma

Grafik nesnesi çeşitli yollarla oluşturulabilir.

Grafik nesnesi oluşturmak için

  • Form veya denetim durumunda öğesinin PaintEventArgsPaint bir parçası olarak bir grafik nesnesine başvuru alın. Genellikle bir denetim için boyama kodu oluştururken grafik nesnesine başvuru elde etme yöntemi budur. Benzer şekilde, bir grafik nesnesini için olayı PrintDocumentişlerken PrintPage özelliğini PrintPageEventArgs de elde edebilirsiniz.

    -veya-

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

    -veya-

  • öğesinden devralan herhangi bir nesneden Imagenesne Graphics 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

için veya PrintPage için PrintDocumentprogramlama PaintEventHandler yaparken, veya PrintPageEventArgsözelliklerinden PaintEventArgs biri olarak bir grafik nesnesi sağlanır.

Paint olayındaki PaintEventArgs öğesinden bir Graphics nesnesine başvuru almak için

  1. Nesnesini bildirin Graphics .

  2. öğesinin bir parçası olarak geçirilen nesneye başvurmak için Graphics değişkenini atayın PaintEventArgs.

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

    Aşağıdaki örnekte, dosyasından bir Graphics nesneye PaintEventArgs başvurma işlemi gösterilmektedir Paint :

    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

Ayrıca, denetimin veya formun çizim yüzeyini temsil eden bir Graphics nesneye başvuru almak için bir denetim veya formun yöntemini de kullanabilirsinizCreateGraphics.

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

  • CreateGraphics Grafik işlemek istediğiniz formun veya denetimin 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, sınıfından türetilen herhangi bir nesneden Image grafik nesnesi oluşturabilirsiniz.

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

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

    Aşağıdaki örnekte bir Bitmap nesnenin 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);  
    

Dekont

Yalnızca 16 bit, 24 bit ve 32 bit .bmp dosyaları gibi dizinlenmemiş .bmp dosyalarından nesneler oluşturabilirsiniz Graphics . 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 nesne kullanılabilir. nesnesiyle Graphics kullanılan asıl nesneler şunlardır:

  • Pen sınıfı— Çizgiler ç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 kullanılacak şekillerin açıklamasını sağlar.

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

Oluşturduğunuz Grafik nesnesini kullanmak için

Ayrıca bkz.