Porady: tworzenie obiektów graficznych do rysowania
Zanim będzie można rysować linie i kształty, renderować tekst lub wyświetlać obrazy za pomocą interfejsu Graphics GDI+, należy utworzyć obiekt. Obiekt Graphics reprezentuje powierzchnię rysunkową GDI+ i jest obiektem używanym do tworzenia obrazów graficznych.
Istnieją dwa kroki pracy z grafiką:
Tworzenie Graphics obiektu.
Graphics Używanie obiektu 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
Odbieranie odwołania do obiektu graficznego w ramach PaintEventArgsPaint zdarzenia formularza lub kontrolki. Zwykle uzyskujesz odwołanie 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 do Graphics obiektu reprezentującego powierzchnię rysunku tej kontrolki lub formularza. Użyj tej metody, jeśli chcesz rysować na formularzu lub kontrolce, która już istnieje.
— lub —
Graphics Utwórz obiekt na podstawie dowolnego obiektu dziedziczonego z Imageelementu . 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.
PaintEventArgs w programie obsługi zdarzeń malowania
Podczas programowania PaintEventHandler dla kontrolek lub PrintPagePrintDocumentdla obiektu , obiekt graficzny jest dostarczany jako jedna z właściwości PaintEventArgs lub PrintPageEventArgs.
Aby uzyskać odwołanie do obiektu grafiki z programu PaintEventArgs w zdarzeniu Paint
Zadeklaruj Graphics obiekt.
Przypisz zmienną, aby odwoływać się do Graphics obiektu przekazanego w ramach elementu PaintEventArgs.
Wstaw kod, aby malować formularz lub kontrolkę.
W poniższym przykładzie pokazano, jak odwoływać się Graphics do obiektu z PaintEventArgsPaint zdarzenia :
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żesz również użyć CreateGraphics metody kontrolki lub formularza, aby uzyskać odwołanie do Graphics obiektu reprezentującego powierzchnię rysunku tej kontrolki lub formularza.
Aby utworzyć obiekt Grafiki za pomocą metody CreateGraphics
Wywołaj metodę CreateGraphics 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 na podstawie obiektu obrazu
Ponadto można utworzyć obiekt graficzny na podstawie dowolnego obiektu pochodzącego Image z klasy .
Aby utworzyć obiekt grafiki na podstawie obrazu
Wywołaj metodę Graphics.FromImage , 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
Można tworzyć Graphics obiekty tylko na podstawie plików bmp, takich jak 16-bitowe, 24-bitowe i 32-bitowe pliki bmp. Każdy piksel nieindeksowanych plików bmp zawiera kolor, w przeciwieństwie do pikseli indeksowanych plików bmp, które przechowują indeks w tabeli kolorów.
Rysowanie i manipulowanie kształtami i obrazami
Po jego utworzeniu Graphics obiekt może służyć do rysowania linii i kształtów, renderowania tekstu lub wyświetlania obrazów i manipulowania nimi. Obiekty główne, które są używane z obiektem Graphics , to:
Klasa Pen — używana do rysowania linii, tworzenia konspektó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, które mają być używane podczas renderowania tekstu.
Struktura Color — reprezentuje różne kolory do wyświetlenia.
Aby użyć utworzonego obiektu grafiki
Współpracuj z odpowiednim obiektem wymienionym powyżej, aby narysować potrzebne elementy.
Aby uzyskać więcej informacji, zobacz następujące tematy:
Aby renderować Zobacz Wiersze Instrukcje: rysowanie linii w formularzu systemu Windows Kształty Instrukcje: rysowanie konturu kształtu Tekst Instrukcje: rysowanie tekstu w formularzu systemu Windows Obrazy Instrukcje: renderowanie obrazów za pomocą GDI+
Zobacz też
.NET Desktop feedback