Programowanie grafiki w C#

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:

  1. Interfejs API programowania grafiki wektorowej w języku C#
  2. Struktura grafiki wektorowej
  3. Programowanie grafiki przy użyciu C#
  4. Krzywe w programowaniu graficznym
  5. Wielokąty i prostokąty
  6. Jak rysować linie
  7. Jak rysować ścieżki
  8. 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:

  1. Utwórz obiekt klasy Bitmap.
  2. Zainicjuj obiekt klasy Graphics z mapy bitowej.
  3. Zdefiniuj obiekt klasy Pen lub SolidBrush z żądanymi parametrami.
  4. Użyj metod specyficznych dla kształtu klasy Graphics, aby narysować żądane kształty.
  5. 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:

  1. Najpierw utwórz instancję klasy Bitmap.
  2. Następnie utwórz obiekt klasy Graphics przy użyciu metody FromImage() z nowo utworzonego obiektu Bitmap.
  3. Następnie zdefiniuj obiekt klasy Pen o określonym kolorze i rozmiarze.
  4. Następnie wywołaj metodę DrawClosedCurve(), aby narysować krzywą zamkniętą.
  5. Opcjonalnie powtórz powyższe kroki, aby dodać łuk i elipsę.
  6. 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");
Krzywe w programowaniu grafiki przy użyciu języka C#

Krzywe w programowaniu grafiki przy użyciu języka C#

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");
Załaduj-obraz-w-bitmapie-za pomocą-CSharp

Załaduj obraz w bitmapie za pomocą C#

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");
Linie w programowaniu grafiki przy użyciu języka C#

Linie w programowaniu grafiki przy użyciu języka C#

Ś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:

  1. Najpierw utwórz instancję klasy Bitmap.
  2. Następnie zainicjuj obiekt klasy Graphics z nowo utworzonego obiektu Bitmap przy użyciu metody FromImage().
  3. Następnie zdefiniuj obiekt klasy Pen o określonym kolorze i rozmiarze.
  4. Następnie utwórz wystąpienie klasy GraphicsPath.
  5. Następnie dodaj wiersze przy użyciu metody AddLine().
  6. Następnie wywołaj metodę DrawPath() z obiektami Pen i GraphicsPath.
  7. 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");
Ścieżki w programowaniu grafiki przy użyciu języka C#

Ścieżki w programowaniu grafiki przy użyciu języka C#

Wypełnij region w programowaniu graficznym przy użyciu C#

Możemy narysować obszar wypełnienia, wykonując poniższe czynności:

  1. Najpierw utwórz instancję klasy Bitmap.
  2. Następnie zainicjuj obiekt klasy Graphics z nowo utworzonego obiektu Bitmap przy użyciu metody FromImage().
  3. Następnie utwórz instancję klasy GraphicsPath.
  4. W międzyczasie dodaj wielokąt za pomocą metody AddPolygon().
  5. Następnie utwórz instancję klasy Region.
  6. Następnie dodaj kolejny obiekt GraphicsPath i dodaj prostokąt za pomocą metody AddRectangle().
  7. Następnie wywołaj metodę Exclude(), aby wykluczyć wewnętrzną ścieżkę z regionu.
  8. Następnie zdefiniuj obiekt klasy SolidBrush o określonym kolorze.
  9. Następnie wywołaj metodę FillRegion() z obiektami SolidBrush i GraphicsPath.
  10. 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");
Wypełnij region w programowaniu graficznym przy użyciu C#

Wypełnij region w programowaniu graficznym przy użyciu C#

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.

Zobacz też