Anvisningar: Skapa grafikobjekt för ritning
Innan du kan rita linjer och former, återge text eller visa och ändra bilder med GDI+, måste du skapa ett Graphics objekt. Det Graphics objektet representerar en GDI+ rityta och är det objekt som används för att skapa grafiska bilder.
Det finns två steg i arbetet med grafik:
Skapa ett Graphics objekt.
Använd det Graphics objektet för att rita linjer och former, återge text eller visa och ändra bilder.
Skapa ett grafikobjekt
Ett grafikobjekt kan skapas på flera olika sätt.
Skapa ett grafikobjekt
Få en referens till ett grafiskt objekt som en del av PaintEventArgs i händelsen Paint av ett formulär eller en kontroll. Det här är vanligtvis hur du hämtar en referens till ett grafikobjekt när du skapar målerikod för en kontroll. På samma sätt kan du också hämta ett grafikobjekt som en egenskap för PrintPageEventArgs när du hanterar händelsen PrintPage för en PrintDocument.
-eller-
Anropa CreateGraphics-metoden för en kontroll eller ett formulär för att hämta en referens till ett Graphics objekt som representerar ritytan för kontrollen eller formuläret. Använd den här metoden om du vill rita på ett formulär eller en kontroll som redan finns.
-eller-
Skapa ett Graphics objekt från alla objekt som ärver från Image. Den här metoden är användbar när du vill ändra en redan befintlig avbildning.
Följande avsnitt innehåller information om var och en av dessa processer.
PaintEventArgs i Paint-händelsehanterare
När du programmerar PaintEventHandler för kontroller eller PrintPage för en PrintDocumenttillhandahålls ett grafikobjekt som en av egenskaperna för PaintEventArgs eller PrintPageEventArgs.
Hämta en referens till ett grafikobjekt från PaintEventArgs i Paint-händelsen
Deklarera objektet Graphics.
Tilldela variabeln för att referera till det Graphics objekt som skickas som en del av PaintEventArgs.
Infoga kod för att måla formuläret eller kontrollen.
I följande exempel visas hur du refererar till ett Graphics objekt från PaintEventArgs i händelsen 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-metod
Du kan också använda CreateGraphics-metoden för en kontroll eller ett formulär för att hämta en referens till ett Graphics objekt som representerar ritytan för kontrollen eller formuläret.
Skapa ett grafikobjekt med metoden CreateGraphics
Anropa metoden CreateGraphics i formuläret eller kontrollen som du vill återge grafik på.
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();
Skapa från ett bildobjekt
Dessutom kan du skapa ett grafikobjekt från alla objekt som härleds från klassen Image.
Skapa ett grafikobjekt från en bild
Anropa metoden Graphics.FromImage och ange namnet på den bildvariabel som du vill skapa ett Graphics objekt från.
I följande exempel visas hur du använder ett 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);
Not
Du kan bara skapa Graphics objekt från icke-indexerade .bmp filer, till exempel 16-bitars, 24-bitars och 32-bitars .bmp filer. Varje bildpunkt i icke-indexerade .bmp filer har en färg, till skillnad från bildpunkter i indexerade .bmp filer, som innehåller ett index till en färgtabell.
Rita och manipulera former och bilder
När det har skapats kan ett Graphics objekt användas för att rita linjer och former, återge text eller visa och ändra bilder. Huvudobjekten som används med Graphics-objektet är:
Klassen Pen – används för att rita linjer, beskriva former eller återge andra geometriska representationer.
Klassen Brush – används för att fylla i områden med grafik, till exempel fyllda former, bilder eller text.
Klassen Font – Innehåller en beskrivning av vilka former som ska användas vid återgivning av text.
Strukturen Color – Representerar de olika färger som ska visas.
Så här använder du grafikobjektet som du har skapat
Arbeta med lämpligt objekt som anges ovan för att rita det du behöver.
Mer information finns i följande avsnitt:
Så här renderar du Se Linjer Gör så här: Rita en linje i ett Windows-formulär Former Så här gör du: Rita en omsluten form Text Gör så här: Rita text på ett Windows-formulär Bilder Gör så här: Rendera bilder med GDI+
Se även
.NET Desktop feedback