Rysuj kształty w C#

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

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#.

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 linię w C#

Narysuj elipsę za pomocą C#

Poniżej przedstawiono kroki rysowania elipsy w języku C#.

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 elipsę w C#

Narysuj łuk za pomocą C#

Poniżej przedstawiono kroki rysowania łuku w języku C#.

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 łuk w C#

Narysuj prostokąt za pomocą C#

Poniżej przedstawiono kroki rysowania prostokąta w języku C#.

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.

narysuj prostokąt w C#

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.

Zobacz też