Instrukcje: Tworzenie obiektów graficznych do rysowania

Zanim będzie można rysować linie i kształty, renderować tekst lub wyświetlać obrazy i manipulować nimi za pomocą GDI+, należy utworzyć Graphics obiekt. Obiekt Graphics reprezentuje GDI+ rysunku i jest obiektem używanym do tworzenia obrazów graficznych.

Istnieją dwa kroki pracy z grafiką:

  1. Graphics Tworzenie obiektu.

  2. Używanie obiektu Graphics do rysowania linii i kształtów, renderowania tekstu lub wyświetlania obrazów i manipulowania nimi.

Tworzenie obiektu graficznego

Obiekt graficzny można utworzyć na różne sposoby.

Aby utworzyć obiekt graficzny

  • Odbierz odwołanie do obiektu graficznego jako PaintEventArgs część obiektu w Paint przypadku formularza lub kontrolki. Zazwyczaj jest to sposób uzyskiwania odwołania do obiektu graficznego podczas tworzenia kodu malowania dla kontrolki. Podobnie można również uzyskać obiekt graficzny jako właściwość PrintPageEventArgs obiektu podczas obsługi PrintPage zdarzenia dla obiektu PrintDocument.

    -lub-

  • Wywołaj CreateGraphics metodę kontrolki lub formularza, aby uzyskać odwołanie Graphics do obiektu reprezentującego powierzchnię rysowania tej kontrolki lub formularza. Użyj tej metody, jeśli chcesz narysować formularz lub kontrolkę, która już istnieje.

    -lub-

  • Utwórz obiekt Graphics z dowolnego obiektu dziedziczonego z obiektu Image. Takie podejście jest przydatne, gdy chcesz zmienić już istniejący obraz.

    Poniższe sekcje zawierają szczegółowe informacje o każdym z tych procesów.

Program PaintEventArgs w Paint obsługi zdarzeń

Podczas programowania dla kontrolek lub dla PrintDocumentobiektu obiekt graficzny jest dostarczany jako jedna z właściwości lub PaintEventArgsPrintPageEventArgs.PrintPagePaintEventHandler

Aby uzyskać odwołanie do obiektu Graphics z obiektu PaintEventArgs w zdarzeniu Paint graficznego

  1. Zadeklaruj Graphics obiekt .

  2. Przypisz zmienną , aby odwoływać się Graphics do obiektu przekazanego jako część obiektu PaintEventArgs.

  3. Wstaw kod malowania formularza lub kontrolki.

    W poniższym przykładzie pokazano, jak odwołać się do Graphics obiektu z PaintEventArgs obiektu w zdarzeniu 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, metoda

Można również użyć metody kontrolki CreateGraphicsGraphics lub formularza, aby uzyskać odwołanie do obiektu reprezentującego powierzchnię rysowania tej kontrolki lub formularza.

Aby utworzyć obiekt Graphics za pomocą metody CreateGraphics

  • Wywołaj CreateGraphics metodę formularza lub kontrolki, na której chcesz renderować grafikę.

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

Tworzenie z obiektu obrazu

Ponadto można utworzyć obiekt graficzny na podstawie dowolnego obiektu, który pochodzi od Image klasy .

Aby utworzyć obiekt graphics na obrazie

  • Wywołaj Graphics.FromImage metodę , podając nazwę zmiennej Image, z której chcesz utworzyć Graphics obiekt.

    W poniższym przykładzie pokazano, jak używać Bitmap obiektu :

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

Uwaga

Obiekty można tworzyć Graphics tylko z plików .bmp nieindeksowanych, takich jak 16-bitowe, 24-bitowe i 32-bitowe pliki .bmp plików. Każdy piksel nieindeksowanych plików .bmp przechowuje kolor w przeciwieństwie do pikseli indeksowanych .bmp plików, które przechowuje indeks tabeli kolorów.

Rysowanie kształtów i obrazów oraz manipulowanie nimi

Po utworzeniu obiektu można Graphics go używać do rysowania linii i kształtów, renderowania tekstu lub wyświetlania obrazów i manipulowania nimi. Obiekty główne używane z obiektem Graphics to:

  • Klasa Pen — używana do rysowania linii, wykreślania kształtów lub renderowania innych reprezentacji geometrycznych.

  • Klasa Brush — służy do wypełniania obszarów grafiki, takich jak wypełnione kształty, obrazy lub tekst.

  • Klasa Font — zawiera opis kształtów do użycia podczas renderowania tekstu.

  • Struktura Color — reprezentuje różne kolory do wyświetlenia.

Aby użyć utworzonego obiektu graficznego

Zobacz też