Zobacz, jak rysować kształty, używać kolorów i renderować obrazy w aplikacji WinForms.
Windows Forms to platforma, która umożliwia tworzenie aplikacji klasycznych. Możesz klikać i przeciągać komponenty, takie jak przyciski, do wizualnego interfejsu użytkownika. Pomaga również ręcznie tworzyć różne kształty w kodzie.
W tym artykule dowiesz się, jak dodawać linie, kształty i obrazy do aplikacji. Ten samouczek używa programu Visual Studio 2019 Community Edition do pokazywania przykładów.
Jakie są wbudowane klasy używane do rysowania grafiki?
Windows Forms używa Język programowania C#. Jego wbudowane klasy i metody umożliwiają rysowanie różnych kształtów na kanwie formularza systemu Windows. Należą do nich klasy Graphics, Pen, Color i Brush.
Klasa | Opis |
---|---|
Grafika | Klasa Graphics umożliwia rysowanie kształtów i linii na kanwie. Obejmuje metody takie jak:
|
Długopis | Klasa Pen pozwala określić właściwości końcówki pióra, której można użyć do narysowania własnych kształtów. Możesz określić właściwości, takie jak kolor, grubość lub styl kreski. Metody obejmują:
|
Kolor | Kolorowy obiekt składający się z wartości R (czerwony), G (zielony) i B (niebieski). Do wielu wbudowanych metod tworzenia kształtów potrzebny będzie kolorowy obiekt. |
SolidBrush, HatchBrush, TextureBrush | Te klasy pędzli wywodzą się z interfejsu „Pędzel”. Te zajęcia pozwalają na kolorowanie pustych przestrzeni na płótnie. Możesz także wypełnić przestrzenie różnymi wzorami lub teksturami. Możesz określić właściwości, takie jak kolor. |
Prostokąt, Linia, Wielokąt, Elipsa | Możesz tworzyć obiekty na podstawie tych kształtów i używać ich podczas wywoływania metod, takich jak DrawRectangle(). Zamiast przekazywać x, y, szerokość i wysokość jako argumenty, możesz zamiast tego przekazać istniejący obiekt Rectangle. |
Aby wyświetlić kod źródłowy działającego przykładu powyższego samouczka, odwiedź Repozytorium GitHub. Możesz wypróbować następujące przykłady, gdy już: stworzył aplikację WinForm.
Jak dodać farbę do obsługi zdarzeń ładowania formularza
Najpierw dodaj procedurę obsługi zdarzeń, aby rysować kształty podczas ładowania kanwy.
- Dodaj funkcję Paint dla formularza.
private void Form1_Paint (nadawca obiektu, PaintEventArgs e)
{
// Kod idzie tutaj
} - Przejdź do zakładki Widok projektu.
- W oknie Właściwości wybierz ikonę błyskawicy, aby otworzyć zakładkę „Zdarzenia”.
- W "Paint", w "Wygląd", wybierz funkcję Form1_Paint. Spowoduje to wykonanie funkcji po uruchomieniu aplikacji.
Jak rysować linie na kanwie formularza Windows
Do rysowania linii na kanwie można użyć metody Color, Pen i DrawLine().
- Wewnątrz funkcji Form1_Paint() utwórz obiekt Color z kolorem, w jakim ma być linia. Następnie utwórz obiekt Pen, aby narysować linię.
Kolor czarny = Kolor. FromArgb (255, 0, 0, 0);
Pen blackPen = nowy Pen (czarny); - Metoda DrawLine() z klasy Graphics narysuje linię za pomocą pióra. Spowoduje to rozpoczęcie rysowania linii od pozycji x, y do innej pozycji x, y.
mi. Grafika. DrawLine (czarny długopis, 300, 200, 800, 200);
- Możesz modyfikować właściwości obiektu Pióro, aby zmienić jego szerokość, styl kreski oraz początek lub koniec.
czarny długopis. Szerokość = 20;
czarny długopis. Styl Dash = System. Rysunek. Drawing2D.DashStyle. Kropla;
czarny długopis. StartCap = System. Rysunek. Rysunek2D.LineCap. StrzałkaKotwica;
mi. Grafika. DrawLine (czarny długopis, 300, 200, 800, 200); - Naciśnij zielony przycisk odtwarzania w górnej części programu Visual Studio, aby zobaczyć zmiany.
Jak rysować kształty, takie jak prostokąty i koła?
Możesz używać klas kształtów dla różnych kształtów lub ręcznie rysować kształty na kanwie.
- Utwórz obiekt Kolor i Pióro, jak pokazano w poprzednich krokach. Następnie użyj metody DrawRectangle(), aby utworzyć prostokąt. Argumentami są współrzędne x i y lewego górnego rogu prostokąta, wraz z jego szerokością i wysokością.
Kolor czerwony = kolor. FromArgb (255, 255, 0, 0);
Pen redPen = nowy Pen (czerwony);
czerwony długopis. Szerokość = 5;
mi. Grafika. DrawRectangle (redPen, 100, 100, 500, 200); - Możesz również utworzyć prostokąt za pomocą klasy Rectangle. Najpierw utwórz obiekt Rectangle. Argumentami są również współrzędne x i y dla lewego górnego rogu, szerokości i wysokości.
Prostokąt prostokątny = nowy prostokąt (100, 350, 500, 200);
- Użyj funkcji DrawRectangle(), aby narysować prostokąt. Zamiast przekazywać x, y, szerokość i wysokość, jak poprzednio, możesz zamiast tego użyć obiektu Rectangle.
mi. Grafika. DrawRectangle (redPen, prostokąt);
- Naciśnij zielony przycisk odtwarzania w górnej części programu Visual Studio, aby zobaczyć zmiany.
- Wróć do kodu, aby narysować inne kształty. Użyj funkcji DrawEllipse(), aby narysować okrąg.
Kiedy rysujesz okrąg, współrzędne x i y (x=400, y=150) odnoszą się do lewego górnego rogu okręgu, a nie do środka okręgu.Kolor zielony = kolor. FromArgb (255, 0, 255, 0);
Długopis greenPen = nowy Długopis (zielony);
zielony długopis. Szerokość = 5;
mi. Grafika. DrawEllipse (zielonyPen, 400, 150, 400, 400); - Aby narysować inne kształty, takie jak trójkąty lub sześciokąty, użyj metody DrawPolygon(). Tutaj możesz określić listę współrzędnych reprezentujących punkty kształtu.
Metoda DrawPolygon() narysuje linie między określonymi punktami. Kolor niebieski = Kolor. FromArgb (255, 0, 0, 255);
Pen bluePen = nowy Pen (niebieski);
niebieski długopis. Szerokość = 5;
PointF[] współrzędneForTriangle = new PointF[] {
nowy Punkt F(400, 150),
nowy Punkt F(300, 300),
nowy punkt F (500, 300)
};
mi. Grafika. DrawPolygon (niebieskie pióro, współrzędne dla trójkąta);
Jak używać klasy pędzla do wypełniania kształtów kolorem
Za pomocą metod FillRectangle(), FillEllipses() lub FillTriangle() można tworzyć kształty o jednolitym kolorze.
- Najpierw utwórz obiekt pędzla.
Kolor fioletowy = Kolor. FromArgb (255, 128, 0, 0);
SolidBrush solidBrush = nowy SolidBrush (fioletowy); - Użyj metod FillRectangle(), FillEllipses() lub FillTriangle(). Działają w taki sam sposób, jak powyższe funkcje rysowania, z wyjątkiem tego, że zamiast Pen używają obiektu Brush.
mi. Grafika. FillRectangle (solidBrush, 50, 50, 200, 250);
mi. Grafika. FillEllipse (solidBrush, 300, 50, 200, 200);
mi. Grafika. FillPolygon (solidBrush, new PointF[] { new PointF (700, 150), new PointF (600, 300), new PointF (800, 300) }); - Możesz również wprowadzić obiekt kształtu bezpośrednio, zamiast podawać współrzędne.
Prostokąt prostokątny = nowy prostokąt (100, 350, 500, 200);
mi. Grafika. FillRectangle (solidBrush, prostokąt); - Użyj HatchBrush, aby wypełnić kształt przy użyciu innego stylu wypełnienia, takiego jak wzór poziomy lub pionowy.
Kolor niebieski = Kolor. FromArgb (255, 0, 0, 255);
Kolor zielony = kolor. FromArgb (255, 0, 255, 0);
HatchBrush hatchBrush = nowy HatchBrush (HatchStyle. Poziomy, zielony, niebieski);
mi. Grafika. FillRectangle (hatchBrush, 50, 50, 200, 250); - Możesz użyć TextureBrush, aby wypełnić kształt obrazem. Tutaj utwórz mapę bitową, wskazując plik obrazu. Zamiast tworzyć pędzel za pomocą koloru, utwórz go za pomocą obrazu.
Obraz bitmapowy = obraz (mapa bitowa). FromFile(@"C:\Users\Sharl\Desktop\flag.bmp", prawda);
TextureBrush textureBrush = nowy TextureBrush (obraz);
mi. Grafika. FillRectangle (textureBrush, 100, 100, 500, 400);
Jak renderować obrazy na formularzu
Aby renderować obraz, utwórz obiekt kontrolny PictureBox i dodaj go do formularza.
- Utwórz obiekt kontrolny PictureBox za pomocą pliku obrazu.
PictureBox obraz = nowy PictureBox();
zdjęcie. ImageLocation = @"C:\Users\Sharl\Desktop\flagLarge.bmp"; - Ustaw rozmiar obrazu i dodaj go do formularza, aby był renderowany.
zdjęcie. SizeMode = PictureBoxSizeMode. Rozmiar auta;
ten. Sterownica. Dodaj (zdjęcie); - Naciśnij zielony przycisk Start u góry, aby wyświetlić obraz.
Dodawanie większej liczby kształtów do formularza Windows
Powinieneś teraz zrozumieć, jak dodawać linie, kształty i obrazy do formularza systemu Windows. Możesz łączyć kształty, aby tworzyć nowe kształty. Możesz także bawić się wbudowanymi funkcjami, aby tworzyć bardziej złożone kształty.
Czy warto się uczyć ASP.NET w 2021 roku?
Czytaj dalej
Powiązane tematy
- Programowanie
- Programowanie
O autorze
Sharlene jest pisarzem technicznym w MUO, a także pracuje na pełny etat w tworzeniu oprogramowania. Posiada tytuł Bachelor of IT oraz wcześniejsze doświadczenie w zapewnianiu jakości i udzielaniu korepetycji uniwersyteckich. Sharlene uwielbia grać i grać na pianinie.
Zapisz się do naszego newslettera
Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!
Kliknij tutaj, aby zasubskrybować