Sharlene Von Drehnen
UdziałĆwierkaćUdziałE-mail

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.

instagram viewer
Klasa Opis
Grafika Klasa Graphics umożliwia rysowanie kształtów i linii na kanwie. Obejmuje metody takie jak:
  • DrawLine (Pióro, Punkt1, Punkt2)
  • DrawRectangle (x, y, szerokość, wysokość)
  • DrawPolygon (Pióro, PunktF[])
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ą:
  • SetLineCap (LineCap, LineCap, DashCap)
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.

  1. Dodaj funkcję Paint dla formularza.
    private void Form1_Paint (nadawca obiektu, PaintEventArgs e)
    {
    // Kod idzie tutaj
    }
  2. Przejdź do zakładki Widok projektu.
  3. W oknie Właściwości wybierz ikonę błyskawicy, aby otworzyć zakładkę „Zdarzenia”.
  4. 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().

  1. 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);
  2. 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);
  3. 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);
  4. 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.

  1. 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);
  2. 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);
  3. 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);
  4. Naciśnij zielony przycisk odtwarzania w górnej części programu Visual Studio, aby zobaczyć zmiany.
  5. Wróć do kodu, aby narysować inne kształty. Użyj funkcji DrawEllipse(), aby narysować okrąg.
    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);
    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.
  6. 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.
    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);
    Metoda DrawPolygon() narysuje linie między określonymi punktami. ​​​​​​

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.

  1. Najpierw utwórz obiekt pędzla.
    Kolor fioletowy = Kolor. FromArgb (255, 128, 0, 0);
    SolidBrush solidBrush = nowy SolidBrush (fioletowy);
  2. 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) });
  3. 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);
  4. 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);
  5. 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.

  1. Utwórz obiekt kontrolny PictureBox za pomocą pliku obrazu.
    PictureBox obraz = nowy PictureBox();
    zdjęcie. ImageLocation = @"C:\Users\Sharl\Desktop\flagLarge.bmp";
  2. Ustaw rozmiar obrazu i dodaj go do formularza, aby był renderowany.
    zdjęcie. SizeMode = PictureBoxSizeMode. Rozmiar auta;
    ten. Sterownica. Dodaj (zdjęcie);
  3. 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

UdziałĆwierkaćUdziałE-mail

Powiązane tematy

  • Programowanie
  • Programowanie

O autorze

Sharlene von Drehnen (7 opublikowanych artykułów)

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.

Więcej od Sharlene Von Drehnen

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ć