Megosztás a következőn keresztül:


Útmutató: Grafikus objektumok létrehozása rajzhoz

Mielőtt vonalakat és alakzatokat rajzolhat, szöveget jeleníthet meg vagy képeket jeleníthet meg és módosíthat a GDI+ használatával, létre kell hoznia egy Graphics objektumot. A Graphics objektum egy GDI+ rajzfelületet jelöl, és a grafikus képek létrehozásához használt objektum.

A grafikus elemek használatának két lépése van:

  1. Graphics objektum létrehozása.

  2. A Graphics objektummal vonalakat és alakzatokat rajzolhat, szöveget jeleníthet meg, illetve képeket jeleníthet meg és kezelhet.

Grafikus objektum létrehozása

A grafikus objektum többféleképpen is létrehozható.

Grafikus objektum létrehozása

  • Egy űrlap vagy vezérlőelem PaintEventArgs eseményében a Paint részeként kap egy grafikus objektumra mutató hivatkozást. A vezérlők festési kódjának létrehozásakor általában így szerezhet be egy grafikus objektumra mutató hivatkozást. Hasonlóképpen egy grafikus objektumot is beszerezhet a PrintPageEventArgs tulajdonságaként, amikor egy PrintPagePrintDocument eseményét kezeli.

    -vagy-

  • Egy vezérlőelem vagy űrlap CreateGraphics metódusának meghívásával olyan Graphics objektumra mutató hivatkozást kaphat, amely a vezérlő vagy űrlap rajzfelületét jelöli. Ezt a módszert akkor használja, ha már létező űrlapot vagy vezérlőelemet szeretne használni.

    -vagy-

  • Hozzon létre egy Graphics objektumot a Imageöröklő objektumokból. Ez a módszer akkor hasznos, ha egy már meglévő rendszerképet szeretne módosítani.

    A következő szakaszok részletesen ismertetik ezeket a folyamatokat.

PaintEventArgs a Paint eseménykezelőben

Amikor a vezérlőkhöz programozza a PaintEventHandler-t vagy egy PrintPage-höz a PrintDocument-et, egy grafikus objektum szerepel a PaintEventArgs vagy a PrintPageEventArgstulajdonságai között.

Grafikus objektumra mutató hivatkozás lekérése a Paint-esemény PaintEventArgs eleméből

  1. Deklarálja a Graphics objektumot.

  2. Rendelje hozzá a változót, amely a Graphicsrészeként átadott PaintEventArgs objektumra hivatkozik.

  3. Helyezzen be kódot az űrlap vagy vezérlő megfestéséhez.

    Az alábbi példa bemutatja, hogyan hivatkozhat egy Graphics objektumra a PaintEventArgs az Paint eseményben:

    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 metódus

A vezérlőelemek vagy űrlapok CreateGraphics metódusával is beszerezhet egy Graphics objektumra mutató hivatkozást, amely a vezérlő vagy űrlap rajzfelületét jelöli.

Grafikus objektum létrehozása a CreateGraphics metódussal

  • Hívja meg annak az űrlapnak vagy vezérlőelemnek a CreateGraphics metódusát, amelyen grafikus elemeket szeretne megjeleníteni.

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

Képobjektumból való létrehozás

Emellett bármilyen olyan objektumból létrehozhat grafikus objektumot, amely a Image osztályból származik.

Grafikus objektum létrehozása képből

  • Hívja meg a Graphics.FromImage metódust, és adja meg annak a Képváltozónak a nevét, amelyből Graphics objektumot szeretne létrehozni.

    Az alábbi példa egy Bitmap objektum használatát mutatja be:

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

Megjegyzés:

Csak Graphics objektumokat hozhat létre nem indexelt .bmp fájlokból, például 16 bites, 24 bites és 32 bites .bmp fájlokból. A nem indexelt .bmp fájlok minden képpontja egy színt tartalmaz, szemben az indexelt .bmp fájlok képpontjaival, amelyek egy színtáblához tartozó indexet tárolnak.

Alakzatok és képek rajzolása és manipulálása

A létrehozás után egy Graphics objektum használható vonalak és alakzatok rajzolására, szöveg renderelésére vagy képek megjelenítésére és módosítására. A Graphics objektumhoz használt fő objektumok a következők:

  • Az Pen osztály – Vonalak rajzolásához, alakzatok körvonalazásához vagy más geometriai ábrázolások megjelenítéséhez használható.

  • Az Brush osztály – Grafikus területek kitöltésére szolgál, például kitöltött alakzatokra, képekre vagy szövegekre.

  • Az Font osztály – Leírja, hogy milyen alakzatokat használjon a szöveg renderelése során.

  • A Color szerkezet – A megjelenítendő különböző színeket jelöli.

A létrehozott grafikus objektum használata

Lásd még