Kreslení tvarů v C#

Často je potřeba vytvářet různé grafické objekty kreslením tvarů včetně kruhů, čar, obdélníků atd. Tyto tvary lze také použít pro anotaci obrázků. V tomto článku se dozvíte, jak programově kreslit různé tvary v C#. Ukážeme si, jak kreslit čáry, elipsy, oblouky a obdélníky a vytvářet jejich obrázky.

C# API pro kreslení tvarů – ke stažení zdarma

Pro kreslení různých typů tvarů použijeme Aspose.Imaging for .NET. Je to úžasné rozhraní API pro úpravu obrázků, které poskytuje širokou škálu funkcí pro manipulaci s obrázky a vytváření kreseb. API si můžete buď stáhnout, nebo jej nainstalovat z NuGet.

PM> Install-Package Aspose.Imaging

Nakreslete čáru pomocí C#

Následují kroky k nakreslení čáry v C#.

Následující ukázka kódu ukazuje, jak nakreslit čáru v C#.

// Vytvořte BmpOptions
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// Definujte vlastnost source pro instanci BmpOptions
bmpCreateOptions.Source = new StreamSource();

// Vytvoří instanci Image a volání metody create předáním
// objekt bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);

// Vytvořte a inicializujte instanci třídy Graphics
Graphics graphic = new Graphics(image);

// Vyčistěte povrch obrázku bílou barvou
graphic.Clear(Color.White);

// Nakreslete tečkovanou čáru určením objektu Pen, který má modrou barvu a
// koordinační body
graphic.DrawLine(new Pen(Color.Blue, 3), 18, 18, 200, 200);
graphic.DrawLine(new Pen(Color.Blue, 3), 18, 200, 200, 18);

// Nakreslete souvislou čáru určením objektu Pero s Plným
// Kartáč s červenou barvou a dvěma bodovými strukturami
graphic.DrawLine(new Pen(new SolidBrush(Color.Red), 3),
        new Point(18, 18), new Point(18, 200));

// Nakreslete souvislou čáru určením objektu Pero s Plným
// Štětec s bílou barvou a dvěma bodovými strukturami
graphic.DrawLine(new Pen(new SolidBrush(Color.Orange), 3),
        new Point(200, 18), new Point(18, 18));

// Uložte všechny změny
image.Save("draw_lines.bmp");

Následuje výstup výše uvedené ukázky kódu.

nakreslit čáru v C#

Nakreslete elipsu pomocí C#

Následují kroky k nakreslení elipsy v C#.

Následující ukázka kódu ukazuje, jak nakreslit elipsu na obrázku v C#.

// Vytvořte BmpOptions
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// Definujte vlastnost source pro instanci BmpOptions
bmpCreateOptions.Source = new StreamSource();

// Vytvoří instanci Image a volání metody create předáním
// objekt bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);

// Vytvořte a inicializujte instanci třídy Graphics
Graphics graphic = new Graphics(image);

// Vyčistěte povrch obrázku bílou barvou
graphic.Clear(Color.White);

// Nakreslete tvar tečkované elipsy tak, že objekt Pen bude mít červenou barvu
// barvu a obklopující obdélník
graphic.DrawEllipse(new Pen(Color.Red, 3), new Rectangle(60, 40, 70, 120));

// Nakreslete tvar souvislé elipsy zadáním objektu Pen
// solid brush with blue barvu a obklopující obdélník
graphic.DrawEllipse(new Pen(new SolidBrush(Color.Blue), 3),
        new Rectangle(40, 60, 120, 70));

// Uložte všechny změny
image.Save("draw_ellipse.bmp");

Následuje výstup výše uvedené ukázky kódu.

nakreslit elipsu v C#

Nakreslete oblouk pomocí C#

Následují kroky k nakreslení oblouku v C#.

Následující ukázka kódu ukazuje, jak nakreslit oblouk na obrázku v C#.

// Vytvořte BmpOptions
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// Definujte vlastnost source pro instanci BmpOptions
bmpCreateOptions.Source = new StreamSource();

// Vytvoří instanci Image a volání metody create předáním
// objekt bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);

// Vytvořte a inicializujte instanci třídy Graphics
Graphics graphic = new Graphics(image);

// Vyčistěte povrch obrázku bílou barvou
graphic.Clear(Color.White);

// Nakreslete tečkovaný tvar oblouku tak, že určíte, že objekt Pero má červenou černou
// barva a souřadnice, výška, šířka, počáteční a koncové úhly
int width = 200;
int height = 300;
int startAngle = 45;
int sweepAngle = 270;

// Nakreslete oblouk na obrazovku
graphic.DrawArc(new Pen(Color.Black, 3), 0, 0, width, height, startAngle, sweepAngle);

// Uložte všechny změny
image.Save("draw_arc.bmp");

Následuje výstup výše uvedené ukázky kódu.

nakreslit oblouk v C#

Nakreslete obdélník pomocí C#

Následují kroky k nakreslení obdélníku v C#.

Následující ukázka kódu ukazuje, jak nakreslit obdélník na obrázku v C#.

// Vytvořte BmpOptions
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// Definujte vlastnost source pro instanci BmpOptions
bmpCreateOptions.Source = new StreamSource();

// Vytvoří instanci Image a volání metody create předáním
// objekt bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);

// Vytvořte a inicializujte instanci třídy Graphics
Graphics graphic = new Graphics(image);

// Vyčistěte povrch obrázku bílou barvou
graphic.Clear(Color.White);

// Nakreslete tečkovaný obdélníkový tvar tak, že objekt Pen bude mít červenou barvu
// barva a obdélníková struktura
graphic.DrawRectangle(new Pen(Color.Red, 3),
        new Rectangle(60, 40, 70, 120));

// Nakreslete tvar souvislého obdélníku určením objektu Pen
// solid brush with blue barva a obdélníková struktura
graphic.DrawRectangle(new Pen(new SolidBrush(Color.Blue), 3),
        new Rectangle(40, 60, 120, 70));

// Uložte všechny změny
image.Save("draw_reactangle.bmp");

Následuje výstup výše uvedené ukázky kódu.

nakreslit obdélník v C#

C# .NET Image Drawing API – Získejte bezplatnou licenci

Můžete získat bezplatnou dočasnou licenci a kreslit tvary bez omezení hodnocení.

Závěr

V tomto článku jste se naučili kreslit tvary v C#. Probrali jsme, jak programově kreslit čáry, elipsy, oblouky a obdélníky na obrázky. Poskytnuté ukázky kódu můžete snadno integrovat do svých aplikací C#.

Přečtěte si více

Další informace o rozhraní API pro zpracování obrázků .NET můžete prozkoumat pomocí dokumentace. Také se s námi můžete podělit o své dotazy prostřednictvím našeho fóra.

Viz také