Często wymagane jest tworzenie różnych obiektów graficznych poprzez rysowanie kształtów, w tym okręgów, linii, prostokątów itp. Kształty te można również wykorzystać do opisywania obrazów. W tym artykule dowiesz się, jak programowo rysować różne kształty w języku C#. Pokażemy, jak rysować linie, elipsy, łuki i prostokąty oraz generować ich obrazy.
- Interfejs API języka C# do rysowania kształtów — bezpłatne pobieranie
- Narysuj linię za pomocą C#
- Narysuj elipsę za pomocą C#
- Rysowanie łuku za pomocą C#
- Narysuj prostokąt za pomocą C#
Interfejs API języka C# do rysowania kształtów — bezpłatne pobieranie
Aby narysować różne typy kształtów, użyjemy Aspose.Imaging for .NET. Jest to niesamowity interfejs API do edycji obrazów, który zapewnia szeroki zakres funkcji do manipulowania obrazami i tworzenia rysunków. Możesz pobrać interfejs API lub zainstalować go z NuGet.
PM> Install-Package Aspose.Imaging
Narysuj linię za pomocą C#
Poniżej przedstawiono kroki rysowania linii w języku C#.
- Najpierw utwórz obiekt klasy BmpOptions i ustaw bity na piksel za pomocą właściwości BitsPerPixel.
- Następnie przypisz StreamSource za pomocą właściwości Source.
- Utwórz nowy obraz i zainicjuj go za pomocą obiektu BmpOptions oraz wysokości i szerokości obrazu.
- Utwórz obiekt klasy Grafika i zainicjuj go obiektem Obraz.
- Wyczyść powierzchnię obrazu za pomocą metody Graphics.Clear().
- Narysuj linię metodą Graphics.DrawLine(Pen, int, int, int, int).
- Wygeneruj i zapisz obraz metodą Image.Save().
Poniższy przykładowy kod pokazuje, jak narysować linię w języku C#.
// Utwórz BmpOptions
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;
// Zdefiniuj właściwość source dla instancji BmpOptions
bmpCreateOptions.Source = new StreamSource();
// Tworzy instancję metody Image i wywołuje metodę create, przekazując metodę
// obiekt bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);
// Utwórz i zainicjuj instancję klasy Graphics
Graphics graphic = new Graphics(image);
// Wyczyść powierzchnię obrazu kolorem Białym
graphic.Clear(Color.White);
// Narysuj linię kropkowaną, określając obiekt Pen o kolorze niebieskim i
// Punkty współrzędnych
graphic.DrawLine(new Pen(Color.Blue, 3), 18, 18, 200, 200);
graphic.DrawLine(new Pen(Color.Blue, 3), 18, 200, 200, 18);
// Narysuj linię ciągłą, określając obiekt Pen jako Solid
// Pędzel o czerwonym kolorze i dwóch punktowych strukturach
graphic.DrawLine(new Pen(new SolidBrush(Color.Red), 3),
new Point(18, 18), new Point(18, 200));
// Narysuj linię ciągłą, określając obiekt Pen jako Solid
// Pędzel o białym kolorze i dwupunktowej strukturze
graphic.DrawLine(new Pen(new SolidBrush(Color.Orange), 3),
new Point(200, 18), new Point(18, 18));
// Zapisz wszystkie zmiany
image.Save("draw_lines.bmp");
Poniżej przedstawiono dane wyjściowe powyższego przykładowego kodu.
Narysuj elipsę za pomocą C#
Poniżej przedstawiono kroki rysowania elipsy w języku C#.
- Najpierw utwórz obiekt klasy BmpOptions i ustaw bity na piksel za pomocą właściwości BitsPerPixel.
- Następnie przypisz StreamSource za pomocą właściwości Source.
- Utwórz nowy obraz i zainicjuj go za pomocą obiektu BmpOptions oraz wysokości i szerokości obrazu.
- Utwórz obiekt klasy Grafika i zainicjuj go obiektem Obraz.
- Wyczyść powierzchnię obrazu za pomocą metody Graphics.Clear().
- Narysuj elipsę metodą Graphics.DrawEllipse(Pen, Rectangle).
- Wygeneruj i zapisz obraz metodą Image.Save().
Poniższy przykład kodu pokazuje, jak narysować elipsę na obrazie w języku C#.
// Utwórz BmpOptions
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;
// Zdefiniuj właściwość source dla instancji BmpOptions
bmpCreateOptions.Source = new StreamSource();
// Tworzy instancję metody Image i wywołuje metodę create, przekazując metodę
// obiekt bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);
// Utwórz i zainicjuj instancję klasy Graphics
Graphics graphic = new Graphics(image);
// Wyczyść powierzchnię obrazu kolorem Białym
graphic.Clear(Color.White);
// Narysuj kropkowany kształt elipsy, określając obiekt Pen jako czerwony
// kolor i otaczający go prostokąt
graphic.DrawEllipse(new Pen(Color.Red, 3), new Rectangle(60, 40, 70, 120));
// Narysuj ciągły kształt elipsy, określając obiekt Pen
// solid brush with blue kolor i otaczający go prostokąt
graphic.DrawEllipse(new Pen(new SolidBrush(Color.Blue), 3),
new Rectangle(40, 60, 120, 70));
// Zapisz wszystkie zmiany
image.Save("draw_ellipse.bmp");
Poniżej przedstawiono dane wyjściowe powyższego przykładowego kodu.
Narysuj łuk za pomocą C#
Poniżej przedstawiono kroki rysowania łuku w języku C#.
- Najpierw utwórz obiekt klasy BmpOptions i ustaw bity na piksel za pomocą właściwości BitsPerPixel.
- Następnie przypisz StreamSource za pomocą właściwości Source.
- Utwórz nowy obraz i zainicjuj go za pomocą obiektu BmpOptions oraz wysokości i szerokości obrazu.
- Utwórz obiekt klasy Grafika i zainicjuj go obiektem Obraz.
- Wyczyść powierzchnię obrazu za pomocą metody Graphics.Clear().
- Narysuj łuk za pomocą metody Graphics.DrawArc(Pen, float x, float y, float width, float height, float startAngle, float sweepAngle).
- Wygeneruj i zapisz obraz metodą Image.Save().
Poniższy przykładowy kod pokazuje, jak narysować łuk na obrazie w języku C#.
// Utwórz BmpOptions
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;
// Zdefiniuj właściwość source dla instancji BmpOptions
bmpCreateOptions.Source = new StreamSource();
// Tworzy instancję metody Image i wywołuje metodę create, przekazując metodę
// obiekt bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);
// Utwórz i zainicjuj instancję klasy Graphics
Graphics graphic = new Graphics(image);
// Wyczyść powierzchnię obrazu kolorem Białym
graphic.Clear(Color.White);
// Narysuj kropkowany kształt łuku, określając obiekt Pen jako czerwony i czarny
// kolor i współrzędne, wysokość, szerokość, kąty początkowe i końcowe
int width = 200;
int height = 300;
int startAngle = 45;
int sweepAngle = 270;
// Narysuj łuk do ekranu
graphic.DrawArc(new Pen(Color.Black, 3), 0, 0, width, height, startAngle, sweepAngle);
// Zapisz wszystkie zmiany
image.Save("draw_arc.bmp");
Poniżej przedstawiono dane wyjściowe powyższego przykładowego kodu.
Narysuj prostokąt za pomocą C#
Poniżej przedstawiono kroki rysowania prostokąta w języku C#.
- Najpierw utwórz obiekt klasy BmpOptions i ustaw bity na piksel za pomocą właściwości BitsPerPixel.
- Następnie przypisz StreamSource za pomocą właściwości Source.
- Utwórz nowy obraz i zainicjuj go za pomocą obiektu BmpOptions oraz wysokości i szerokości obrazu.
- Utwórz obiekt klasy Grafika i zainicjuj go obiektem Obraz.
- Wyczyść powierzchnię obrazu za pomocą metody Graphics.Clear().
- Narysuj prostokąt metodą Graphics.DrawRectangle(Pen, Rectangle).
- Wygeneruj i zapisz obraz metodą Image.Save().
Poniższy przykład kodu pokazuje, jak narysować prostokąt na obrazie w języku C#.
// Utwórz BmpOptions
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;
// Zdefiniuj właściwość source dla instancji BmpOptions
bmpCreateOptions.Source = new StreamSource();
// Tworzy instancję metody Image i wywołuje metodę create, przekazując metodę
// obiekt bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);
// Utwórz i zainicjuj instancję klasy Graphics
Graphics graphic = new Graphics(image);
// Wyczyść powierzchnię obrazu kolorem Białym
graphic.Clear(Color.White);
// Narysuj kropkowany kształt prostokąta, określając obiekt Pen jako czerwony
// kolor i prostokątna struktura
graphic.DrawRectangle(new Pen(Color.Red, 3),
new Rectangle(60, 40, 70, 120));
// Narysuj ciągły kształt prostokąta, określając obiekt Pen
// solid brush with blue kolor i prostokątna struktura
graphic.DrawRectangle(new Pen(new SolidBrush(Color.Blue), 3),
new Rectangle(40, 60, 120, 70));
// Zapisz wszystkie zmiany
image.Save("draw_reactangle.bmp");
Poniżej przedstawiono dane wyjściowe powyższego przykładowego kodu.
C# .NET API do rysowania obrazów — uzyskaj bezpłatną licencję
Możesz uzyskać bezpłatną tymczasową licencję i rysować kształty bez ograniczeń ewaluacyjnych.
Wniosek
W tym artykule nauczyłeś się rysować kształty w języku C#. Omówiliśmy, jak programowo rysować linie, elipsy, łuki i prostokąty na obrazach. Dostarczone przykłady kodu można łatwo zintegrować z aplikacjami języka C#.
Czytaj więcej
Więcej informacji na temat interfejsu API przetwarzania obrazu platformy .NET można znaleźć w dokumentacji. Możesz także podzielić się z nami swoimi pytaniami za pośrednictwem naszego forum.