Autor Sharlene Von Drehnen
JagaSäutsJagaMeil

Vaadake, kuidas saate WinFormsi rakenduses kujundeid joonistada, värve kasutada ja pilte renderdada.

Windows Forms on raamistik, mis võimaldab teil luua töölauarakendusi. Saate klõpsata ja lohistada komponente, nagu nuppe, visuaalsele kasutajaliidesele. Samuti aitab see teil koodis käsitsi erinevaid kujundeid luua.

See artikkel näitab, kuidas lisada rakendusele jooni, kujundeid ja pilte. See õpetus kasutab näidete näitamiseks Visual Studio 2019 Community Editioni.

Milliseid sisseehitatud klasse kasutatakse graafika joonistamiseks?

Windows Forms kasutab C# programmeerimiskeel. Selle sisseehitatud klassid ja meetodid võimaldavad teil joonistada Windowsi vormi lõuendile erinevaid kujundeid. Nende hulka kuuluvad graafika, pliiatsi, värvi ja pintsli klassid.

Klass Kirjeldus
Graafika Graafika klass võimaldab joonistada lõuendile kujundeid ja jooni. See hõlmab selliseid meetodeid nagu:
  • Joonistusjoon (pliiats, punkt1, punkt 2)
  • Joonista ristkülik (x, y, laius, kõrgus)
  • Joonista hulknurk (pliiats, punktF[])
Pliiats Pliiatsiklass võimaldab teil määrata pliiatsiotsa atribuudid, mida saate oma kujundite joonistamiseks kasutada. Saate määrata atribuudid, nagu värv, paksus või kriipsu stiil. Meetodid hõlmavad järgmist:
  • SetLineCap (LineCap, LineCap, DashCap)
Värv Värviobjekt, mis koosneb R (punane), G (roheline) ja B (sinine) väärtustest. Paljude kujundeid loovate sisseehitatud meetodite jaoks vajate värviobjekti.
SolidBrush, HatchBrush, TextureBrush Need pintsliklassid tulenevad "Brush" liidesest. Need klassid võimaldavad teil lõuendil tühje kohti värvida. Samuti saate valida, kas täita ruumid erinevate mustrite või tekstuuridega. Saate määrata selliseid omadusi nagu värv.
Ristkülik, joon, hulknurk, ellips Saate luua nende kujundite põhjal objekte ja kasutada neid selliste meetodite (nt DrawRectangle() kutsumisel. Selle asemel, et esitada argumentidena x, y, laius ja kõrgus, saate selle asemel edastada olemasoleva ristkülikuobjekti.

Ülaltoodud õpetuse käitava näite lähtekoodi vaatamiseks külastage GitHubi hoidla. Kui olete proovinud, võite proovida järgmisi näiteid lõi Winformsi rakenduse.

Vormi laadimise sündmuste käitlejale värvi lisamine

Esmalt lisage sündmuste töötleja, et joonistada kujundeid, kui lõuend laaditakse.

  1. Lisage vormile funktsioon Paint.
    private void Form1_Paint (objekti saatja, PaintEventArgs e)
    {
    // Kood läheb siia
    }
  2. Minge vahekaardile Kujundusvaade.
  3. Atribuutide aknas valige välgu ikoon, et avada vahekaart "Sündmused".
  4. Valige jaotises "Paint" jaotises "Välimus" funktsioon Form1_Paint. See käivitab funktsiooni rakenduse käivitamisel.

Kuidas tõmmata jooni Windowsi vormilõuendile

Lõuendile joonte joonistamiseks saate kasutada meetodit Color, Pen ja DrawLine().

  1. Funktsioonis Form1_Paint() looge värviobjekt värviga, mida soovite joont näha. Seejärel looge pliiatsiobjekt, millega joon tõmmata.
    Värv must = värv. FromArgb (255, 0, 0, 0);
    Pliiats blackPen = uus pliiats (must);
  2. Graafikaklassi meetod DrawLine() tõmbab pliiatsi abil joone. See alustab joone tõmbamist positsioonist x, y teise x, y positsiooni.
    e. Graafika. DrawLine (blackPen, 300, 200, 800, 200);
  3. Saate muuta pliiatsiobjekti atribuute, et muuta selle laiust, kriipsu stiili ning algus- või lõpukübarat.
    must pliiats. Laius = 20;
    must pliiats. DashStyle = Süsteem. Joonistamine. Drawing2D.DashStyle. Kriips;
    must pliiats. StartCap = süsteem. Joonistamine. Joonis2D.LineCap. ArrowAnchor;
    e. Graafika. DrawLine (blackPen, 300, 200, 800, 200);
  4. Muudatuste vaatamiseks vajutage Visual Studio ülaosas rohelist esitusnuppu.

Kuidas joonistada selliseid kujundeid nagu ristkülikud ja ringid

Saate kasutada kujundite klasse erinevate kujundite jaoks või joonistada kujundeid käsitsi lõuendile.

  1. Looge värvi- ja pliiatsiobjekt, nagu on näidatud eelmistes sammudes. Seejärel kasutage ristküliku loomiseks meetodit DrawRectangle(). Argumendid on ristküliku vasakpoolse ülanurga x ja y koordinaadid koos selle laiuse ja kõrgusega.
    Värv punane = värv. FromArgb (255, 255, 0, 0);
    Pliiats punanePen = uus pliiats (punane);
    punane Pen. Laius = 5;
    e. Graafika. Joonista ristkülik (punane pliiats, 100, 100, 500, 200);
  2. Ristküliku saab luua ka ristkülikuklassi abil. Esiteks looge objekt Ristkülik. Argumendid on ka vasaku ülanurga, laiuse ja kõrguse x- ja y-koordinaadid.
    Ristkülik ristkülik = uus Ristkülik (100, 350, 500, 200);
  3. Kasutage ristküliku joonistamiseks funktsiooni DrawRectangle(). Selle asemel, et sisestada x, y, laius ja kõrgus nagu varem, võite kasutada objekti Ristkülik.
    e. Graafika. DrawRectangle (punane pliiats, ristkülik);
  4. Muudatuste vaatamiseks vajutage Visual Studio ülaosas rohelist esitusnuppu.
  5. Muude kujundite joonistamiseks minge tagasi koodi juurde. Kasutage ringi joonistamiseks funktsiooni DrawEllipse().
    Värv roheline = värv. FromArgb (255, 0, 255, 0);
    Pliiats rohelinePen = uus Pliiats (roheline);
    roheline pliiats. Laius = 5;
    e. Graafika. DrawEllipse (roheline pliiats, 400, 150, 400, 400);
    Kui joonistate ringi, viitavad x- ja y-koordinaadid (x=400, y=150) ringi vasakpoolsele ülanurgale, mitte ringi keskpunktile.
  6. Muude kujundite (nt kolmnurkade või kuusnurkade) joonistamiseks kasutage meetodit DrawPolygon(). Siin saate määrata koordinaatide loendi kujundi punktide esitamiseks.
    Värv sinine = värv. FromArgb (255, 0, 0, 255);
    Pliiats bluePen = uus pliiats (sinine);
    sinine pliiats. Laius = 5;
    PunktF[] koordinaadidKolmnurga jaoks = uus punktF[] {
    uus punktF(400, 150),
    uus punktF(300, 300),
    uus punktF(500, 300)
    };
    e. Graafika. DrawPolygon (sinine pliiats, kolmnurga koordinaadid);
    Meetod DrawPolygon() tõmbab määratud punktide vahele jooned. ​​​​​​

Kuidas kasutada pintsliklassi kujundite värviga täitmiseks

Ühevärviliste kujundite loomiseks saate kasutada meetodeid FillRectangle(), FillEllipses() või FillTriangle().

  1. Esiteks looge pintsliobjekt.
    Värvus lilla = värv. FromArgb (255, 128, 0, 0);
    SolidBrush solidBrush = uus SolidBrush (lilla);
  2. Kasutage meetodeid FillRectangle(), FillEllipses() või FillTriangle(). Need töötavad samamoodi nagu ülaltoodud joonistamisfunktsioonid, välja arvatud pliiatsi asemel pintsliobjekt.
    e. Graafika. FillRectangle (solidBrush, 50, 50, 200, 250);
    e. Graafika. FillEllipse (solidBrush, 300, 50, 200, 200);
    e. Graafika. FillPolygon (solidBrush, new PointF[] { new PointF(700, 150), new PointF(600, 300), new PointF(800, 300) });
  3. Koordinaatide esitamise asemel saate kujundiobjekti sisestada ka otse.
    Ristkülik ristkülik = uus Ristkülik (100, 350, 500, 200);
    e. Graafika. FillRectangle (solidPintsel, ristkülik);
  4. Kasutage luukpintslit, et täita kujund, kasutades erinevat täitmisstiili, näiteks horisontaalset või vertikaalset mustrit.
    Värv sinine = värv. FromArgb (255, 0, 0, 255);
    Värv roheline = värv. FromArgb (255, 0, 255, 0);
    HatchBrush hatchBrush = uus HatchBrush (HatchStyle. Horisontaalne, roheline, sinine);
    e. Graafika. FillRectangle (hatchBrush, 50, 50, 200, 250);
  5. Kujundi täitmiseks pildi abil saate kasutada TextureBrushi. Siin looge bitmap, osutades pildifailile. Selle asemel, et luua pintslit värvi abil, looge see pildi abil.
    Bitmap pilt = (Bitmap) pilt. FromFile(@"C:\Users\Sharl\Desktop\flag.bmp", tõsi);
    TextureBrush textureBrush = uus TextureBrush (pilt);
    e. Graafika. FillRectangle (tekstuuripintsel, 100, 100, 500, 400);

Kuidas renderdada pilte vormile

Pildi renderdamiseks looge PictureBoxi juhtobjekt ja lisage see vormi.

  1. Looge pildifaili kasutades PictureBoxi juhtobjekt.
    Pildikasti pilt = new PictureBox();
    pilt. ImageLocation = @"C:\Users\Sharl\Desktop\flagLarge.bmp";
  2. Määrake pildi suurus ja lisage see vormile, et see renderdataks.
    pilt. SizeMode = PictureBoxSizeMode. AutoSize;
    see. Juhtnupud. Lisa (pilt);
  3. Pildi vaatamiseks vajutage ülaosas olevat rohelist käivitusnuppu.

Rohkemate kujundite lisamine oma Windowsi vormile

Nüüd peaksite mõistma, kuidas oma Windowsi vormile jooni, kujundeid ja pilte lisada. Uute kujundite loomiseks saate kujundeid kombineerida. Samuti saate keerukamate kujundite loomiseks mängida sisseehitatud funktsioonidega.

Kas ASP.NET on 2021. aastal õppimist väärt?

Loe edasi

JagaSäutsJagaMeil

Seotud teemad

  • Programmeerimine
  • Programmeerimine

Autori kohta

Sharlene Von Drehnen (7 artiklit avaldatud)

Sharlene on MUO tehniline kirjanik ja töötab täiskohaga ka tarkvaraarendusega. Tal on IT bakalaureusekraad ning varasem kogemus kvaliteedi tagamise ja ülikooli juhendamise alal. Sharlene armastab mängida ja klaverit mängida.

Veel Sharlene Von Drehnenilt

Liituge meie uudiskirjaga

Liituge meie uudiskirjaga tehniliste näpunäidete, arvustuste, tasuta e-raamatute ja eksklusiivsete pakkumiste saamiseks!

Tellimiseks klõpsake siin