Rita former i C#

Det krävs ofta att man skapar olika grafiska objekt genom att rita former inklusive cirklar, linjer, rektanglar, etc. Dessa former kan också användas för att kommentera bilderna. I den här artikeln får du lära dig hur du ritar olika former programmatiskt i C#. Vi kommer att demonstrera hur man ritar linjer, ellipser, bågar och rektanglar och genererar deras bilder.

C# API för att rita former - Gratis nedladdning

För att rita olika typer av former kommer vi att använda Aspose.Imaging for .NET. Det är ett fantastiskt bildredigerings-API som ger ett brett utbud av funktioner för att manipulera bilder och skapa ritningar. Du kan antingen ladda ner API:t eller installera det från NuGet.

PM> Install-Package Aspose.Imaging

Rita en linje med C#

Följande är stegen för att rita en linje i C#.

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

// Skapa BmpOptions
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// Definiera källegenskapen för instansen av BmpOptions
bmpCreateOptions.Source = new StreamSource();

// Skapar en instans av Image and call create-metoden genom att skicka
// bmpCreateOptions-objekt
Image image = Image.Create(bmpCreateOptions, 500, 500);

// Skapa och initiera en instans av grafikklassen
Graphics graphic = new Graphics(image);

// Rensa bildytan med vit färg
graphic.Clear(Color.White);

// Rita en prickad linje genom att ange att Pen-objektet har blå färg och
// samordna punkter
graphic.DrawLine(new Pen(Color.Blue, 3), 18, 18, 200, 200);
graphic.DrawLine(new Pen(Color.Blue, 3), 18, 200, 200, 18);

// Rita en kontinuerlig linje genom att ange att Pen-objektet har Solid
// Borsta med röd färg och tvåpunktsstrukturer
graphic.DrawLine(new Pen(new SolidBrush(Color.Red), 3),
        new Point(18, 18), new Point(18, 200));

// Rita en kontinuerlig linje genom att ange att Pen-objektet har Solid
// Pensla med vit färg och tvåpunktsstrukturer
graphic.DrawLine(new Pen(new SolidBrush(Color.Orange), 3),
        new Point(200, 18), new Point(18, 18));

// Spara alla ändringar
image.Save("draw_lines.bmp");

Följande är resultatet av ovanstående kodexempel.

rita linje i C#

Rita en ellips med C#

Följande är stegen för att rita en ellips i C#.

Följande kodexempel visar hur man ritar en ellips på en bild i C#.

// Skapa BmpOptions
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// Definiera källegenskapen för instansen av BmpOptions
bmpCreateOptions.Source = new StreamSource();

// Skapar en instans av Image and call create-metoden genom att skicka
// bmpCreateOptions-objekt
Image image = Image.Create(bmpCreateOptions, 500, 500);

// Skapa och initiera en instans av grafikklassen
Graphics graphic = new Graphics(image);

// Rensa bildytan med vit färg
graphic.Clear(Color.White);

// Rita en prickad ellipsform genom att ange att Pen-objektet har rött
// färg och en omgivande rektangel
graphic.DrawEllipse(new Pen(Color.Red, 3), new Rectangle(60, 40, 70, 120));

// Rita en kontinuerlig ellipsform genom att ange vilket Pen-objekt som har
// solid brush with blue färg och en omgivande rektangel
graphic.DrawEllipse(new Pen(new SolidBrush(Color.Blue), 3),
        new Rectangle(40, 60, 120, 70));

// Spara alla ändringar
image.Save("draw_ellipse.bmp");

Följande är resultatet av ovanstående kodexempel.

rita ellips i C#

Rita en båge med C#

Följande är stegen för att rita en båge i C#.

Följande kodexempel visar hur man ritar en båge på en bild i C#.

// Skapa BmpOptions
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// Definiera källegenskapen för instansen av BmpOptions
bmpCreateOptions.Source = new StreamSource();

// Skapar en instans av Image and call create-metoden genom att skicka
// bmpCreateOptions-objekt
Image image = Image.Create(bmpCreateOptions, 500, 500);

// Skapa och initiera en instans av grafikklassen
Graphics graphic = new Graphics(image);

// Rensa bildytan med vit färg
graphic.Clear(Color.White);

// Rita en prickad bågeform genom att ange att Pen-objektet har rött svart
// färg och koordinater, höjd, bredd, start- och slutvinklar
int width = 200;
int height = 300;
int startAngle = 45;
int sweepAngle = 270;

// Rita båge till skärmen
graphic.DrawArc(new Pen(Color.Black, 3), 0, 0, width, height, startAngle, sweepAngle);

// Spara alla ändringar
image.Save("draw_arc.bmp");

Följande är resultatet av ovanstående kodexempel.

rita båge i C#

Rita en rektangel med C#

Följande är stegen för att rita en rektangel i C#.

Följande kodexempel visar hur man ritar en rektangel på en bild i C#.

// Skapa BmpOptions
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// Definiera källegenskapen för instansen av BmpOptions
bmpCreateOptions.Source = new StreamSource();

// Skapar en instans av Image and call create-metoden genom att skicka
// bmpCreateOptions-objekt
Image image = Image.Create(bmpCreateOptions, 500, 500);

// Skapa och initiera en instans av grafikklassen
Graphics graphic = new Graphics(image);

// Rensa bildytan med vit färg
graphic.Clear(Color.White);

// Rita en prickad rektangelform genom att ange att Pen-objektet har rött
// färg och en rektangelstruktur
graphic.DrawRectangle(new Pen(Color.Red, 3),
        new Rectangle(60, 40, 70, 120));

// Rita en kontinuerlig rektangel genom att ange vilket Pen-objekt som har
// solid brush with blue färg och en rektangelstruktur
graphic.DrawRectangle(new Pen(new SolidBrush(Color.Blue), 3),
        new Rectangle(40, 60, 120, 70));

// Spara alla ändringar
image.Save("draw_reactangle.bmp");

Följande är resultatet av ovanstående kodexempel.

rita rektangel i C#

C# .NET Image Drawing API - Skaffa en gratis licens

Du kan få en gratis tillfällig licens och rita former utan utvärderingsbegränsningar.

Slutsats

I den här artikeln har du lärt dig hur du ritar former i C#. Vi har täckt hur man ritar linjer, ellipser, bågar och rektanglar på bilder programmatiskt. Du kan enkelt integrera de medföljande kodexemplen i dina C#-applikationer.

Läs mer

Du kan utforska mer om .NET-bildbehandlings-API:et med hjälp av dokumentation. Du kan också dela dina frågor med oss via vårt forum.

Se även