Postupy: Vytváření grafických objektů pro kreslení
Než budete moct kreslit čáry a obrazce, vykreslovat text nebo zobrazovat a manipulovat s obrázky pomocí GDI+, musíte vytvořit objekt Graphics. 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:
Vytvoření Graphics objektu
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
Obdržte odkaz na grafický objekt jako součástí PaintEventArgs v události Paint formuláře nebo ovládacího prvku. To je obvykle způsob, jak získat referenci na grafický objekt při vytváření kódu pro kreslení pro ovládací prvek. Podobně lze také získat grafický objekt jako vlastnost PrintPageEventArgs při zpracování události PrintPage pro PrintDocument.
-nebo-
Voláním CreateGraphics metody ovládacího prvku nebo formuláře získáte odkaz na Graphics objekt, který představuje kreslicí plochu daného 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řte objekt Graphics z libovolného 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.
PaintEventArgs v obsluze události Malování
Při programování PaintEventHandler ovládacích prvků nebo PrintPage pro PrintDocumentje grafický objekt poskytován jako jedna z vlastností PaintEventArgs nebo PrintPageEventArgs.
Pro získání odkazu na grafický objekt z PaintEventArgs během události Malování
Deklarujte objekt Graphics.
Přiřaďte proměnnou odkazující na objekt Graphics předaný jako součást PaintEventArgs.
Vložte kód pro vykreslení formuláře nebo ovládacího prvku.
Následující příklad ukazuje, jak odkazovat na objekt Graphics z PaintEventArgs v události 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
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
Zavolejte metodu CreateGraphics 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, který je odvozen z Image 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 objekt Graphics.
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 Graphics můžete vytvářet pouze z neindexovaných .bmp souborů, jako jsou 16bitové, 24bitové a 32bitové .bmp soubory. Každý pixel neindexovaných .bmp souborů má barvu na rozdíl od pixelů indexovaných .bmp souborů, které obsahují index barevné tabulky.
Kreslení a manipulace s obrazci a obrázky
Po vytvoření může být objekt Graphics použit k kreslení čar a obrazců, vykreslení textu nebo zobrazení a manipulaci s obrázky. Hlavní objekty používané s objektem Graphics 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
Pracujte s příslušným objektem uvedeným výše a nakreslete, co potřebujete.
Další informace najdete v následujících tématech:
Vykreslit Vidět Řádky Postupy: Kreslení čáry ve formuláři Windows Form Tvary Postupy: Kreslení obrysového obrazce Text Postupy: Kreslení textu ve formuláři Windows Form Obrazy Postupy: Vykreslení obrázků pomocí GDI+
Viz také
.NET Desktop feedback