Programowanie grafiki w języku C# może wydawać się łatwiejsze lub trudniejsze, niż mogłoby się wydawać. W tym artykule dowiesz się, jak programowo tworzyć oszałamiającą grafikę wektorową. Niezależnie od tego, czy tworzysz grafikę w ramach bieżącego projektu, czy jako podstawę własnej gry lub aplikacji! Nauczysz się z łatwością tworzyć piękne wizualizacje. Zacznijmy!
W tym artykule zostaną omówione następujące tematy:
- Interfejs API programowania grafiki wektorowej w języku C#
- Struktura grafiki wektorowej
- Programowanie grafiki przy użyciu C#
- Krzywe w programowaniu graficznym
- Wielokąty i prostokąty
- Jak rysować linie
- Jak rysować ścieżki
- Narysuj obszar wypełnienia
Interfejs API programowania grafiki wektorowej w języku C# — bezpłatne pobieranie
Aby stworzyć oszałamiającą grafikę wektorową w C#, użyjemy API Aspose.Drawing for .NET. Jest to międzyplatformowa biblioteka grafiki 2D do programowego rysowania tekstu, geometrii i obrazów. Umożliwia ładowanie, zapisywanie i manipulowanie obsługiwanymi formatami plików.
Proszę pobrać bibliotekę DLL interfejsu API lub zainstalować ją za pomocą NuGet.
PM> Install-Package Aspose.Drawing
Struktura grafiki wektorowej
Grafika wektorowa składa się z geometrycznych kształtów: linii, krzywych i ścieżek. Tymi obiektami, z różnymi właściwościami, takimi jak długość i kolor, można manipulować za pomocą programu C#.
Programowanie grafiki przy użyciu C#
Możemy malować lub rysować różne rodzaje kształtów, w tym krzywe, linie, prostokąty, wypełnione obszary, elipsy i wielokąty. Interfejs API zapewnia różne metody rysowania tych kształtów. Możemy programowo tworzyć różne grafiki wektorowe, wykonując poniższe czynności:
- Utwórz obiekt klasy Bitmap.
- Zainicjuj obiekt klasy Graphics z mapy bitowej.
- Zdefiniuj obiekt klasy Pen lub SolidBrush z żądanymi parametrami.
- Użyj metod specyficznych dla kształtu klasy Graphics, aby narysować żądane kształty.
- Na koniec zapisz obraz.
Zobaczmy teraz, jak wykonać te kroki w języku C#.
Krzywe w programowaniu grafiki przy użyciu języka C#
Możemy rysować łuki, okręgi, elipsy lub zamknięte krzywe za pomocą następujących metod:
- DrawArc() do rysowania łuku.
- DrawEllipse() do rysowania elipsy.
- DrawClosedCurve(), aby narysować krzywą zamkniętą.
- DrawCurve(), aby narysować krzywą.
Wykonaj poniższe czynności, aby narysować zakrzywiony kształt:
- Najpierw utwórz instancję klasy Bitmap.
- Następnie utwórz obiekt klasy Graphics przy użyciu metody FromImage() z nowo utworzonego obiektu Bitmap.
- Następnie zdefiniuj obiekt klasy Pen o określonym kolorze i rozmiarze.
- Następnie wywołaj metodę DrawClosedCurve(), aby narysować krzywą zamkniętą.
- Opcjonalnie powtórz powyższe kroki, aby dodać łuk i elipsę.
- Na koniec zapisz obraz wyjściowy przy użyciu metody Save().
Poniższy przykładowy kod pokazuje, jak malować zakrzywione kształty w języku C#.
// Ten przykład kodu demonstruje, jak narysować zamkniętą krzywą, łuk i okrąg.
// Utwórz mapę bitową
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
// Początkowa grafika z bitmapy
Graphics graphics = Graphics.FromImage(bitmap);
// Zdefiniuj pióro do rysowania
Pen penBlue = new Pen(Color.Blue, 4);
// Narysuj krzywą
graphics.DrawClosedCurve(penBlue, new Point[] { new Point(10, 700), new Point(250, 500), new Point(500, 10), new Point(750, 500), new Point(990, 700) });
// Narysuj łuk
Pen penRed = new Pen(Color.Red, 2);
graphics.DrawArc(penRed, 0, 0, 700, 700, 0, 180);
// Narysuj elipsę
Pen penGreen = new Pen(Color.Green, 2);
graphics.DrawEllipse(penGreen, 10, 10, 500, 500);
// Zapisz mapę bitową jako PNG
bitmap.Save("C:\\Files\\Drawing\\Curves.png");
Wielokąty i prostokąty w programowaniu grafiki przy użyciu języka C#
Możemy rysować wielokąty i prostokąty, wykonując czynności wymienione wcześniej. Jednak w kroku nr 4 musimy skorzystać z następujących metod:
- DrawPolygon() do rysowania wielokąta.
- DrawRectangle(), aby narysować prostokąt.
Poniższy przykład kodu pokazuje, jak rysować wielokąty i prostokąty w języku C#.
// Ten przykład kodu demonstruje, jak narysować Polygon i Rectangle.
// Utwórz mapę bitową
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
// Początkowa grafika z bitmapy
Graphics graphics = Graphics.FromImage(bitmap);
// Zdefiniuj pióro do rysowania
Pen penBlue = new Pen(Color.Blue, 4);
// Narysuj wielokąt
graphics.DrawPolygon(pen, new Point[] { new Point(100, 100), new Point(500, 700), new Point(900, 100) });
// Narysuj prostokąt
Pen penRed = new Pen(Color.Red, 2);
graphics.DrawRectangle(penRed, 10, 10, 900, 700);
// Zapisz mapę bitową jako PNG
bitmap.Save("C:\\Files\\Drawing\\Shapes.png");
Linie w programowaniu grafiki przy użyciu języka C#
Podobnie możemy rysować linie, wykonując czynności wspomniane wcześniej. Musimy jednak użyć metody DrawLine() w kroku nr 4, aby narysować linię.
Poniższy przykładowy kod pokazuje, jak rysować linie w języku C#.
// Ten przykład kodu demonstruje, jak narysować Line.
// Utwórz mapę bitową
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
// Początkowa grafika z bitmapy
Graphics graphics = Graphics.FromImage(bitmap);
// Zdefiniuj pióro do rysowania
Pen penBlue = new Pen(Color.Blue, 4);
// Rysować linie
graphics.DrawLine(pen, 10, 700, 500, 10);
graphics.DrawLine(pen, 500, 10, 990, 700);
// Zapisz mapę bitową jako PNG
bitmap.Save("C:\\Files\\Drawing\\Lines.png");
Ścieżki w programowaniu grafiki przy użyciu języka C#
W grafice wektorowej ścieżka reprezentuje serię gładkich linii prostych zdefiniowanych przez punkt początkowy i końcowy oraz inne punkty. Możemy narysować ścieżkę, wykonując poniższe czynności:
- Najpierw utwórz instancję klasy Bitmap.
- Następnie zainicjuj obiekt klasy Graphics z nowo utworzonego obiektu Bitmap przy użyciu metody FromImage().
- Następnie zdefiniuj obiekt klasy Pen o określonym kolorze i rozmiarze.
- Następnie utwórz wystąpienie klasy GraphicsPath.
- Następnie dodaj wiersze przy użyciu metody AddLine().
- Następnie wywołaj metodę DrawPath() z obiektami Pen i GraphicsPath.
- Na koniec zapisz obraz wyjściowy przy użyciu metody Save().
Poniższy przykładowy kod pokazuje, jak narysować ścieżkę w języku C#.
// Ten przykład kodu demonstruje, jak narysować Path.
// Utwórz mapę bitową
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
// Początkowa grafika z bitmapy
Graphics graphics = Graphics.FromImage(bitmap);
// Zdefiniuj pióro do rysowania
Pen penBlue = new Pen(Color.Blue, 4);
// Zainicjuj ścieżkę grafiki
GraphicsPath path = new GraphicsPath();
// Dodaj linię 1
path.AddLine(100, 100, 1000, 400);
// Dodaj linię 2
path.AddLine(1000, 600, 300, 600);
// Dodaj prostokąt
path.AddRectangle(new Rectangle(500, 350, 200, 400));
// Dodaj elipsę
path.AddEllipse(10, 250, 450, 300);
// Narysuj ścieżkę
graphics.DrawPath(pen, path);
// Zapisz mapę bitową jako PNG
bitmap.Save("C:\\Files\\Drawing\\Shapes.png");
Wypełnij region w programowaniu graficznym przy użyciu C#
Możemy narysować obszar wypełnienia, wykonując poniższe czynności:
- Najpierw utwórz instancję klasy Bitmap.
- Następnie zainicjuj obiekt klasy Graphics z nowo utworzonego obiektu Bitmap przy użyciu metody FromImage().
- Następnie utwórz instancję klasy GraphicsPath.
- W międzyczasie dodaj wielokąt za pomocą metody AddPolygon().
- Następnie utwórz instancję klasy Region.
- Następnie dodaj kolejny obiekt GraphicsPath i dodaj prostokąt za pomocą metody AddRectangle().
- Następnie wywołaj metodę Exclude(), aby wykluczyć wewnętrzną ścieżkę z regionu.
- Następnie zdefiniuj obiekt klasy SolidBrush o określonym kolorze.
- Następnie wywołaj metodę FillRegion() z obiektami SolidBrush i GraphicsPath.
- Na koniec zapisz obraz wyjściowy za pomocą metody Save().
Poniższy przykładowy kod pokazuje, jak narysować wypełniony region w języku C#.
// Ten przykład kodu demonstruje, jak narysować Region.
// Utwórz mapę bitową
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
// Początkowa grafika z bitmapy
Graphics graphics = Graphics.FromImage(bitmap);
// Dodaj wielokąt
path.AddPolygon(new Point[] { new Point(100, 400), new Point(500, 100), new Point(900, 400), new Point(500, 700) });
// Zainicjuj region
Region region = new Region(path);
// Wewnętrzna ścieżka graficzna
GraphicsPath innerPath = new GraphicsPath();
// Dodaj prostokąt
innerPath.AddRectangle(new Rectangle(300, 300, 400, 200));
// Wyklucz ścieżkę wewnętrzną
region.Exclude(innerPath);
// Zdefiniuj solidny pędzel
Brush brush = new SolidBrush(Color.Blue);
// Wypełnij obszar
graphics.FillRegion(brush, region);
// Zapisz mapę bitową jako PNG
bitmap.Save("C:\\Files\\Drawing\\Lines.png");
Uzyskaj bezpłatną tymczasową licencję
Możesz uzyskać bezpłatną tymczasową licencję, aby wypróbować Aspose.Drawing for .NET bez ograniczeń ewaluacyjnych.
Wniosek
W tym artykule dowiedzieliśmy się, jak:
- utwórz nową mapę bitową;
- rysować prostokąt, elipsę itp. na mapie bitowej;
- rysuj linie i ścieżki;
- zapisz obraz bitmapowy jako PNG w C#.
Oprócz programowania grafiki w C#, możesz dowiedzieć się więcej o Aspose.Drawing for .NET za pomocą dokumentacji i poznać różne funkcje obsługiwane przez API. W przypadku jakichkolwiek niejasności prosimy o kontakt na naszym darmowym forum pomocy technicznej.