Desenhar gráficos usando C#

Em meu artigo anterior, dei a você uma visão geral da nossa API de gráficos .NET - Aspose.Drawing for .NET. Junto com isso, vimos como criar imagens do zero ou desenhar gráficos em imagens existentes usando C#. Neste artigo, daremos um passo à frente e aprenderemos a criar desenhos 2D desenhando vários objetos gráficos dentro dos aplicativos .NET, como aplicativo Web ASP.NET, aplicativo Windows e etc.

A seguir estão os gráficos vetoriais que vamos desenhar em nossos desenhos usando a API de gráficos .NET.

Antes de começarmos, certifique-se de ter instalado o Aspose.Drawing para .NET em seu aplicativo .NET. Você pode ler sobre os métodos de instalação em este post.

Criar um desenho do zero usando C#

Antes de tudo, vamos dar uma olhada em como criar um desenho vazio e salvá-lo como uma imagem PNG. Os passos são tão simples quanto uma torta.

Você também pode salvar o desenho em outros formatos de imagem. O exemplo de código a seguir mostra como criar um desenho do zero usando C#.

// Exemplo para criar um novo desenho em C# .NET e renderizar como PNG. 
// Veja https://github.com/aspose-drawing/Aspose.Drawing-for-.NET e https://docs.aspose.com/drawing/net/ para mais exemplos.
// Criar um novo desenho
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
// Salvar desenho
bitmap.Save(RunExamples.GetDataDir() + @"drawing.png");

Desenhe um arco no desenho usando C#

Vamos verificar como desenhar um arco dentro do desenho. A seguir estão as etapas para realizar esta operação.

O exemplo de código a seguir mostra como desenhar um arco no desenho usando C#.

// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-drawing/Aspose.Drawing-for-.NET

using System.Drawing;

Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);

Pen pen = new Pen(Color.Blue, 2);
graphics.DrawArc(pen, 0, 0, 700, 700, 0, 180);

bitmap.Save("DrawArc.png");
Desenhe um arco

Desenhe uma spline de Bezier no desenho usando C#

A seguir estão as etapas para desenhar uma spline bezier dentro de um desenho.

O exemplo de código a seguir cria um Bezier Spline usando C#.

// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-drawing/Aspose.Drawing-for-.NET

using System.Drawing;

Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);

Pen pen = new Pen(Color.Blue, 2);
PointF p1 = new PointF(0, 0);   // start point
PointF c1 = new PointF(0, 800);   // first control point
PointF c2 = new PointF(1000, 0);  // second control point
PointF p2 = new PointF(1000, 800);  // end point
graphics.DrawBezier(pen, p1, c1, c2, p2);

bitmap.Save("DrawBezierSpline.png");
Desenhar Spline de Bézier

Adicione um Cardinal Spline no Desenho usando C#

Use as etapas a seguir para desenhar um spline cardinal usando nossa API de gráficos .NET.

O exemplo de código C# a seguir desenha um spline cardinal usando Aspose.Drawing para .NET.

// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-drawing/Aspose.Drawing-for-.NET

using System.Drawing;

Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);

Pen pen = new Pen(Color.Blue, 2);
graphics.DrawCurve(pen, new Point[] { new Point(10, 700), new Point(250, 500), new Point(500, 10), new Point(750, 500), new Point(990, 700) });

bitmap.Save("DrawCardinalSpline.png");
Desenhar Spline Cardeal

Adicionar uma curva fechada no desenho usando C#

Você também pode desenhar uma curva fechada da mesma forma que desenhou os outros objetos gráficos. A seguir estão os passos para isso.

Você pode desenhar uma curva fechada usando o exemplo de código C# a seguir.

// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-drawing/Aspose.Drawing-for-.NET

using System.Drawing;

Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);

Pen pen = new Pen(Color.Blue, 2);
graphics.DrawClosedCurve(pen, new Point[] { new Point(100, 700), new Point(350, 600), new Point(500, 500), new Point(650, 600), new Point(900, 700) });

bitmap.Save("DrawClosedCurve.png");
Desenhar Curva Fechada

Desenhe uma elipse em um desenho usando C#

A seguir estão as etapas para desenhar uma elipse em um desenho usando Aspose.Drawing para .NET.

O exemplo de código a seguir mostra como desenhar uma elipse usando C#.

// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-drawing/Aspose.Drawing-for-.NET

using System.Drawing;

Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);

Pen pen = new Pen(Color.Blue, 2);
graphics.DrawEllipse(pen, 10, 10, 900, 700);

bitmap.Save("DrawEllipse.png");
Desenhar Elipse

Desenhar linhas em um desenho usando C#

As linhas são um dos objetos básicos para criar os desenhos. A seguir estão as etapas para desenhar as linhas em um desenho usando a API de gráficos do Aspose.

O exemplo de código a seguir mostra como desenhar linhas em um desenho usando C#.

// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-drawing/Aspose.Drawing-for-.NET

using System.Drawing;

Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);

Pen pen = new Pen(Color.Blue, 2);
graphics.DrawLine(pen, 10, 700, 500, 10);
graphics.DrawLine(pen, 500, 10, 990, 700);

bitmap.Save("DrawLines.png");
Desenhar linhas

Desenhe um caminho no desenho usando C#

A seguir estão as etapas para desenhar um caminho em um desenho usando C#.

O exemplo de código a seguir mostra como desenhar um caminho em um desenho usando C#.

// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-drawing/Aspose.Drawing-for-.NET

using System.Drawing;
using System.Drawing.Drawing2D;

Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);

Pen pen = new Pen(Color.Blue, 2);
GraphicsPath path = new GraphicsPath();
path.AddLine(100, 100, 1000, 400);
path.AddLine(1000, 600, 300, 600);
path.AddRectangle(new Rectangle(500, 350, 200, 400));
path.AddEllipse(10, 250, 450, 300);
graphics.DrawPath(pen, path);

bitmap.Save("DrawPath.png");
Desenhar caminho

Desenhe um polígono em um desenho usando C#

A seguir estão as etapas para desenhar um polígono dentro de um desenho usando Aspose.Drawing para .NET.

É assim que você pode desenhar um polígono dentro de um desenho usando C#.

// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-drawing/Aspose.Drawing-for-.NET

using System.Drawing;

Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);

Pen pen = new Pen(Color.Blue, 2);
graphics.DrawPolygon(pen, new Point[] { new Point(100, 100), new Point(500, 700), new Point(900, 100) });

bitmap.Save("DrawPolygon.png");
Desenhar Polígono

Desenhe um retângulo dentro do desenho usando C#

Por último, mas não menos importante, desenhando um retângulo. A seguir estão os passos para desenhar um retângulo.

O exemplo de código C# a seguir desenha um retângulo em um desenho.

// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-drawing/Aspose.Drawing-for-.NET

using System.Drawing;

Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);

Pen pen = new Pen(Color.Blue, 2);
graphics.DrawRectangle(pen, 10, 10, 900, 700);

bitmap.Save("DrawRectangle.png");
Desenhar retângulo

Conclusão

Neste artigo, vimos como vários objetos gráficos podem ser desenhados dentro de um desenho programaticamente usando C#. O guia passo a passo e os exemplos de código demonstraram como desenhar linhas, retângulos, polígonos, arcos, spline bezier, spline cardinal, curvas e elipses dentro dos desenhos. Você pode aprender mais sobre nossa API de gráficos .NET usando a documentação.

Veja também