Grafisk programmering i C#

Grafikprogrammering i C# kan verka lättare eller svårare än du kanske tror. I den här artikeln kommer du att lära dig hur du skapar fantastisk vektorgrafik programmatiskt. Oavsett om du skapar grafik som en del av ditt nuvarande projekt eller som grund för ditt eget spel eller app! Du lär dig att skapa vackra bilder med lätthet. Låt oss börja!

Följande ämnen ska behandlas i den här artikeln:

  1. C# Vector Graphics Programmering API
  2. Strukturen av en vektorgrafik
  3. Grafikprogrammering med C#
  4. Kurvor i grafisk programmering
  5. Polygoner och rektanglar
  6. Hur man ritar linjer
  7. Hur man ritar vägar
  8. Rita en fyllningsregion

C# Vector Graphics Programmering API - Gratis nedladdning

För att skapa fantastisk vektorgrafik i C# kommer vi att använda Aspose.Drawing for .NET API. Det är ett plattformsoberoende 2D-grafikbibliotek för att rita text, geometrier och bilder programmatiskt. Den tillåter att ladda, spara och manipulera filformaten som stöds.

Vänligen antingen ladda ner DLL för API:t eller installera den med NuGet.

PM> Install-Package Aspose.Drawing

Strukturen för en vektorgrafik

Vektorgrafik består av geometriska former: linjer, kurvor och banor. Dessa objekt, med olika egenskaper som längd och färg, kan manipuleras av ett C#-program.

C# grafikprogrammering

Vi kan måla eller rita olika typer av former inklusive kurvor, linjer, rektanglar, fyllda områden, ellipser och polygoner. API:et tillhandahåller olika metoder för att rita dessa former. Vi kan skapa en mängd olika vektorgrafik programmatiskt genom att följa stegen nedan:

  1. Skapa ett objekt av klassen Bitmap.
  2. Initiera ett objekt av klassen Graphics från bitmappen.
  3. Definiera ett Pen- eller SolidBrush-klassobjekt med önskade parametrar.
  4. Använd de formspecifika metoderna i klassen Graphics för att rita önskad form.
  5. Till slut sparar du bilden.

Låt oss nu se hur man utför dessa steg i C#.

Kurvor i grafisk programmering med C#

Vi kan rita bågar, cirklar, ellipser eller slutna kurvor genom att använda följande metoder:

  • Metoden DrawArc() för att rita en båge.
  • DrawEllipse() metod för att rita en ellips.
  • Metoden DrawClosedCurve() för att rita en stängd kurva.
  • DrawCurve() metod för att rita en kurva.

Följ stegen nedan för att rita en krökt form:

  1. Skapa först en instans av Bitmap-klassen.
  2. Skapa sedan Graphics-klassobjektet med metoden FromImage() från det nyskapade Bitmap-objektet.
  3. Definiera sedan ett Pen-klassobjekt med den angivna färgen och storleken.
  4. Efter det, anrop metoden DrawClosedCurve() för att rita en stängd kurva.
  5. Om du vill kan du upprepa stegen ovan för att lägga till en båge och ellips.
  6. Slutligen, spara utdatabilden med hjälp av metoden Save().

Följande kodexempel visar hur man målar krökta former i C#.

// Detta kodexempel visar hur man ritar en sluten kurva, båge och cirkel.
// Skapa en bitmapp
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Initialie grafik från Bitmap
Graphics graphics = Graphics.FromImage(bitmap);

// Definiera en penna att rita
Pen penBlue = new Pen(Color.Blue, 4);

// Rita en kurva
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) });

// Rita en båge
Pen penRed = new Pen(Color.Red, 2);
graphics.DrawArc(penRed, 0, 0, 700, 700, 0, 180);

// Rita en Ellips
Pen penGreen = new Pen(Color.Green, 2);
graphics.DrawEllipse(penGreen, 10, 10, 500, 500);

// Spara bitmappen som PNG
bitmap.Save("C:\\Files\\Drawing\\Curves.png");
Kurvor i grafisk programmering med C#

Kurvor i grafisk programmering med C#

Polygoner och rektanglar i grafikprogrammering med C#

Vi kan rita polygoner och rektanglar genom att följa stegen som nämnts tidigare. Vi måste dock använda följande metoder i steg #4:

  • Metoden DrawPolygon() för att rita en polygon.
  • Metoden DrawRectangle() för att rita en rektangel.

Följande kodexempel visar hur man ritar polygoner och rektanglar i C#.

// Detta kodexempel visar hur man ritar en polygon och rektangel.
// Skapa en bitmapp
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Initialie grafik från Bitmap
Graphics graphics = Graphics.FromImage(bitmap);

// Definiera en penna att rita
Pen penBlue = new Pen(Color.Blue, 4);

// Rita en polygon
graphics.DrawPolygon(pen, new Point[] { new Point(100, 100), new Point(500, 700), new Point(900, 100) });

// Rita en rektangel
Pen penRed = new Pen(Color.Red, 2);
graphics.DrawRectangle(penRed, 10, 10, 900, 700);

// Spara bitmappen som PNG
bitmap.Save("C:\\Files\\Drawing\\Shapes.png");
Ladda-en-bild-i-bitmapp-med-CSharp

Ladda en bild i bitmapp med C#

Linjer i grafisk programmering med C#

På samma sätt kan vi rita linjer genom att följa stegen som nämnts tidigare. Vi måste dock använda metoden DrawLine() i steg #4 för att rita en linje.

Följande kodexempel visar hur man ritar linjer i C#.

// Detta kodexempel visar hur man ritar en linje.
// Skapa en bitmapp
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Initialie grafik från Bitmap
Graphics graphics = Graphics.FromImage(bitmap);

// Definiera en penna att rita
Pen penBlue = new Pen(Color.Blue, 4);

// Dra streck
graphics.DrawLine(pen, 10, 700, 500, 10);
graphics.DrawLine(pen, 500, 10, 990, 700);

// Spara bitmappen som PNG
bitmap.Save("C:\\Files\\Drawing\\Lines.png");
Linjer i grafisk programmering med C#

Linjer i grafisk programmering med C#

Sökvägar i grafisk programmering med C#

I vektorgrafik representerar en bana en serie jämna räta linjer som definieras av en start- och slutpunkt, tillsammans med andra punkter. Vi kan rita en väg genom att följa stegen nedan:

  1. Skapa först en instans av Bitmap-klassen.
  2. Initiera sedan Graphics-klassobjektet från det nyskapade Bitmap-objektet med metoden FromImage().
  3. Definiera sedan ett Pen-klassobjekt med den angivna färgen och storleken.
  4. Skapa sedan en instans av klassen GraphicsPath.
  5. Lägg sedan till rader med metoden AddLine().
  6. Efter det, anropa metoden DrawPath() med Pen- och GraphicsPath-objekt.
  7. Slutligen, spara utdatabilden med hjälp av metoden Save().

Följande kodexempel visar hur man ritar en sökväg i C#.

// Detta kodexempel visar hur man ritar en bana.
// Skapa en bitmapp
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Initialie grafik från Bitmap
Graphics graphics = Graphics.FromImage(bitmap);

// Definiera en penna att rita
Pen penBlue = new Pen(Color.Blue, 4);

// Initiera grafisk sökväg
GraphicsPath path = new GraphicsPath();

// Lägg till rad 1
path.AddLine(100, 100, 1000, 400);

// Lägg till rad 2
path.AddLine(1000, 600, 300, 600);

// Lägg till rektangel
path.AddRectangle(new Rectangle(500, 350, 200, 400));

// Lägg till Ellipse
path.AddEllipse(10, 250, 450, 300);

// Rita en väg
graphics.DrawPath(pen, path);

// Spara bitmappen som PNG
bitmap.Save("C:\\Files\\Drawing\\Shapes.png");
Sökvägar i grafisk programmering med C#

Sökvägar i grafisk programmering med C#

Fyll i region i grafikprogrammering med C#

Vi kan rita en fyllningsregion genom att följa stegen nedan:

  1. Skapa först en instans av Bitmap-klassen.
  2. Initiera sedan Graphics-klassobjektet från det nyskapade Bitmap-objektet med metoden FromImage().
  3. Skapa sedan en instans av klassen GraphicsPath.
  4. Lägg till en polygon med metoden AddPolygon() under tiden.
  5. Skapa sedan en instans av klassen Region.
  6. Lägg sedan till ett annat GraphicsPath-objekt och lägg till en rektangel med metoden AddRectangle().
  7. Anrop sedan metoden Exclude() för att exkludera den inre sökvägen från regionen.
  8. Definiera sedan ett SolidBrush-klassobjekt med den angivna färgen.
  9. Därefter anropar du metoden FillRegion() med SolidBrush- och GraphicsPath-objekt.
  10. Spara slutligen utdatabilden med metoden Save().

Följande kodexempel visar hur man ritar en ifylld region i C#.

// Detta kodexempel visar hur man ritar en region.
// Skapa en bitmapp
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Initialie grafik från Bitmap
Graphics graphics = Graphics.FromImage(bitmap);

// Lägg till en polygon
path.AddPolygon(new Point[] { new Point(100, 400), new Point(500, 100), new Point(900, 400), new Point(500, 700) });

// Initiera en region
Region region = new Region(path);

// Inre grafikväg
GraphicsPath innerPath = new GraphicsPath();

// Lägg till en rektangel
innerPath.AddRectangle(new Rectangle(300, 300, 400, 200));

// Uteslut inre väg
region.Exclude(innerPath);

// Definiera en solid borste
Brush brush = new SolidBrush(Color.Blue);

// Fyll region
graphics.FillRegion(brush, region);

// Spara bitmappen som PNG
bitmap.Save("C:\\Files\\Drawing\\Lines.png");
Fyll i region i grafikprogrammering med C#

Fyll i region i grafikprogrammering med C#

Få gratis tillfällig licens

Du kan få en gratis tillfällig licens för att prova Aspose.Drawing för .NET utan utvärderingsbegränsningar.

Slutsats

I den här artikeln har vi lärt oss hur man:

  • skapa en ny bitmapp;
  • rita rektangel, ellips, etc. på en bitmapp;
  • rita linjer och stigar;
  • spara en bitmappsbild som PNG i C#.

Förutom grafikprogrammering i C# kan du lära dig mer om Aspose.Drawing för .NET med dokumentation och utforska olika funktioner som stöds av API:et. I händelse av oklarheter är du välkommen att kontakta oss på vårt gratis supportforum.

Se även