Postupy: Vytváření grafických objektů pro kreslení

Než budete moct kreslit čáry a obrazce, vykreslit text nebo zobrazit a manipulovat s obrázky pomocí GDI+, musíte vytvořit Graphics objekt. Objekt Graphics představuje plochu výkresu GDI+ a je objekt, který slouží k vytváření grafických obrázků.

Při práci s grafikou existují dva kroky:

  1. Vytvoření objektu Graphics

  2. Pomocí objektu Graphics můžete kreslit čáry a obrazce, vykreslit text nebo zobrazit a manipulovat s obrázky.

Vytvoření grafického objektu

Grafický objekt lze vytvořit různými způsoby.

Vytvoření grafického objektu

  • V případě formuláře nebo ovládacího prvku obdrží odkaz na grafický objekt PaintEventArgsPaint . To je obvykle způsob, jak získat odkaz na grafický objekt při vytváření malování kódu pro ovládací prvek. Podobně můžete také získat grafický objekt jako vlastnost PrintPageEventArgs při zpracování PrintPage události pro objekt PrintDocument.

    nebo

  • CreateGraphics Volání metody ovládacího prvku nebo formuláře získat odkaz na Graphics objekt, který představuje kreslicí plochu tohoto ovládacího prvku nebo formuláře. Tuto metodu použijte, pokud chcete kreslit na formulář nebo ovládací prvek, který již existuje.

    nebo

  • Vytvořit objekt z libovolného Graphics objektu, který dědí z Image. Tento přístup je užitečný, když chcete změnit již existující image.

    V následujících částech najdete podrobnosti o jednotlivých těchto procesech.

Malování EventArgs v obslužné rutině události Malování

Při programování PaintEventHandler ovládacích prvků nebo PrintPage pro PrintDocumentobjekt , je grafický objekt poskytován jako jedna z vlastností PaintEventArgs nebo PrintPageEventArgs.

Získání odkazu na objekt Graphics z Malování EventArgs v události Malování

  1. Deklarujte Graphics objekt.

  2. Přiřaďte proměnnou odkazující na Graphics objekt předaný jako součást objektu PaintEventArgs.

  3. Vložte kód pro vykreslení formuláře nebo ovládacího prvku.

    Následující příklad ukazuje, jak odkazovat na Graphics objekt z PaintEventArgsPaint události:

    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 – metoda

Můžete také použít CreateGraphics metodu ovládacího prvku nebo formuláře k získání odkazu na Graphics objekt, který představuje kreslicí plochu tohoto ovládacího prvku nebo formuláře.

Vytvoření objektu Graphics pomocí metody CreateGraphics

  • CreateGraphics Volejte metodu formuláře nebo ovládacího prvku, na kterém chcete vykreslit grafiku.

    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();  
    

Vytvoření z objektu obrázku

Kromě toho můžete vytvořit grafický objekt z libovolného objektu Image , který je odvozen od třídy.

Vytvoření grafického objektu z obrázku

  • Zavolejte metodu Graphics.FromImage a zadejte název proměnné Image, ze které chcete vytvořit Graphics objekt.

    Následující příklad ukazuje, jak použít Bitmap objekt:

    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);  
    

Poznámka:

Objekty můžete vytvářet Graphics pouze z neindexovaných souborů .bmp, jako jsou 16bitové, 24bitové a 32bitové soubory .bmp. Každý pixel neindexovaných souborů .bmp obsahuje barvu na rozdíl od pixelů indexovaných souborů .bmp, které obsahují index do barevné tabulky.

Kreslení a manipulace s obrazci a obrázky

Po vytvoření Graphics může být objekt použit k kreslení čar a obrazců, vykreslení textu nebo zobrazení obrázků a manipulaci s nimi. Objekty zabezpečení, které se s objektem Graphics používají, jsou:

  • Třída Pen – používá se pro kreslení čar, osnovy obrazců nebo vykreslování jiných geometrických reprezentací.

  • Třída Brush – slouží k vyplňování oblastí grafiky, jako jsou vyplněné obrazce, obrázky nebo text.

  • Třída Font – poskytuje popis obrazců, které se mají použít při vykreslování textu.

  • Struktura Color – Představuje různé barvy, které se mají zobrazit.

Použití objektu Graphics, který jste vytvořili

Viz také