Programação gráfica em C#

A programação gráfica em C# pode parecer mais fácil ou mais difícil do que você imagina. Neste artigo, você aprenderá como criar gráficos vetoriais impressionantes programaticamente. Esteja você criando gráficos como parte de seu projeto atual ou como base de seu próprio jogo ou aplicativo! Você aprenderá a criar belos visuais com facilidade. Vamos começar!

Os seguintes tópicos serão abordados neste artigo:

  1. API de programação de gráficos vetoriais C#
  2. A estrutura de um gráfico vetorial
  3. Programação gráfica usando C#
  4. Curvas na Programação Gráfica
  5. Polígonos e Retângulos
  6. Como desenhar linhas
  7. Como desenhar caminhos
  8. Desenhe uma região de preenchimento

API de programação de gráficos vetoriais C# - download gratuito

Para criar gráficos vetoriais impressionantes em C#, usaremos a API Aspose.Drawing for .NET. É uma biblioteca de gráficos 2D multiplataforma para desenhar texto, geometrias e imagens programaticamente. Permite carregar, salvar e manipular os formatos de arquivo suportados.

Por favor, faça o download da DLL da API ou instale-a usando NuGet.

PM> Install-Package Aspose.Drawing

A estrutura de um gráfico vetorial

Os gráficos vetoriais são compostos de formas geométricas: linhas, curvas e caminhos. Esses objetos, com várias propriedades como comprimento e cor, podem ser manipulados por um programa C#.

Programação gráfica usando C#

Podemos pintar ou desenhar vários tipos de formas, incluindo curvas, linhas, retângulos, regiões preenchidas, elipses e polígonos. A API fornece vários métodos para desenhar essas formas. Podemos criar uma variedade de gráficos vetoriais diferentes programaticamente seguindo as etapas abaixo:

  1. Crie um objeto da classe Bitmap.
  2. Inicialize um objeto da classe Graphics do bitmap.
  3. Defina um objeto de classe Pen ou SolidBrush com os parâmetros desejados.
  4. Use o(s) método(s) específico(s) de forma da classe Graphics para desenhar a(s) forma(s) desejada(s).
  5. No final, salve a imagem.

Agora, vamos ver como executar essas etapas em C#.

Curvas na programação gráfica usando C#

Podemos desenhar arcos, círculos, elipses ou curvas fechadas usando os seguintes métodos:

  • DrawArc() para desenhar um arco.
  • DrawEllipse() para desenhar uma elipse.
  • DrawClosedCurve() para desenhar uma curva fechada.
  • DrawCurve() para desenhar uma curva.

Por favor, siga os passos abaixo para desenhar uma forma curva:

  1. Primeiramente, crie uma instância da classe Bitmap.
  2. Em seguida, crie o objeto da classe Graphics usando o método FromImage() do objeto Bitmap recém-criado.
  3. Em seguida, defina um objeto da classe Pen com a cor e o tamanho especificados.
  4. Depois disso, chame o método DrawClosedCurve() para desenhar uma curva fechada.
  5. Opcionalmente, repita as etapas acima para adicionar um arco e uma elipse.
  6. Por fim, salve a imagem de saída usando o método Save().

O exemplo de código a seguir mostra como pintar formas curvas em C#.

// Este exemplo de código demonstra como desenhar uma curva fechada, arco e círculo.
// Criar um bitmap
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Gráficos de inicialização do bitmap
Graphics graphics = Graphics.FromImage(bitmap);

// Definir uma caneta para desenhar
Pen penBlue = new Pen(Color.Blue, 4);

// Desenhe uma curva
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) });

// Desenhe um arco
Pen penRed = new Pen(Color.Red, 2);
graphics.DrawArc(penRed, 0, 0, 700, 700, 0, 180);

// Desenhe uma elipse
Pen penGreen = new Pen(Color.Green, 2);
graphics.DrawEllipse(penGreen, 10, 10, 500, 500);

// Salve o bitmap como PNG
bitmap.Save("C:\\Files\\Drawing\\Curves.png");
Curvas na programação gráfica usando C#

Curvas na programação gráfica usando C#

Polígonos e retângulos na programação gráfica usando C#

Podemos desenhar polígonos e retângulos seguindo os passos mencionados anteriormente. No entanto, precisamos usar os seguintes métodos na etapa 4:

  • DrawPolygon() método para desenhar um polígono.
  • DrawRectangle() para desenhar um retângulo.

O exemplo de código a seguir mostra como desenhar polígonos e retângulos em C#.

// Este exemplo de código demonstra como desenhar um polígono e um retângulo.
// Criar um bitmap
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Gráficos de inicialização do bitmap
Graphics graphics = Graphics.FromImage(bitmap);

// Definir uma caneta para desenhar
Pen penBlue = new Pen(Color.Blue, 4);

// Desenhe um polígono
graphics.DrawPolygon(pen, new Point[] { new Point(100, 100), new Point(500, 700), new Point(900, 100) });

// Desenhe um retângulo
Pen penRed = new Pen(Color.Red, 2);
graphics.DrawRectangle(penRed, 10, 10, 900, 700);

// Salve o bitmap como PNG
bitmap.Save("C:\\Files\\Drawing\\Shapes.png");
Load-an-Image-in-Bitmap-usando-CSharp

Carregar uma imagem no bitmap usando C#

Linhas em programação gráfica usando C#

Da mesma forma, podemos desenhar linhas seguindo os passos mencionados anteriormente. No entanto, precisamos usar o método DrawLine() na etapa 4 para desenhar uma linha.

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

// Este exemplo de código demonstra como desenhar uma linha.
// Criar um bitmap
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Gráficos de inicialização do bitmap
Graphics graphics = Graphics.FromImage(bitmap);

// Definir uma caneta para desenhar
Pen penBlue = new Pen(Color.Blue, 4);

// Desenhar linhas
graphics.DrawLine(pen, 10, 700, 500, 10);
graphics.DrawLine(pen, 500, 10, 990, 700);

// Salve o bitmap como PNG
bitmap.Save("C:\\Files\\Drawing\\Lines.png");
Linhas em programação gráfica usando C#

Linhas em programação gráfica usando C#

Caminhos na programação gráfica usando C#

Em gráficos vetoriais, um caminho representa uma série de linhas retas suaves definidas por um ponto inicial e final, juntamente com outros pontos. Podemos desenhar um caminho seguindo os passos abaixo:

  1. Primeiramente, crie uma instância da classe Bitmap.
  2. Em seguida, inicialize o objeto da classe Graphics do objeto Bitmap recém-criado usando o método FromImage().
  3. Em seguida, defina um objeto da classe Pen com a cor e o tamanho especificados.
  4. Em seguida, crie uma instância da classe GraphicsPath.
  5. Em seguida, adicione linhas usando o método AddLine().
  6. Depois disso, chame o método DrawPath() com os objetos Pen e GraphicsPath.
  7. Por fim, salve a imagem de saída usando o método Save().

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

// Este exemplo de código demonstra como desenhar um Path.
// Criar um bitmap
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Gráficos de inicialização do bitmap
Graphics graphics = Graphics.FromImage(bitmap);

// Definir uma caneta para desenhar
Pen penBlue = new Pen(Color.Blue, 4);

// Inicializar caminho de gráficos
GraphicsPath path = new GraphicsPath();

// Adicionar linha 1
path.AddLine(100, 100, 1000, 400);

// Adicionar linha 2
path.AddLine(1000, 600, 300, 600);

// Adicionar retângulo
path.AddRectangle(new Rectangle(500, 350, 200, 400));

// Adicionar elipse
path.AddEllipse(10, 250, 450, 300);

// Desenhe um caminho
graphics.DrawPath(pen, path);

// Salve o bitmap como PNG
bitmap.Save("C:\\Files\\Drawing\\Shapes.png");
Caminhos na programação gráfica usando C#

Caminhos na programação gráfica usando C#

Preencher região na programação gráfica usando C#

Podemos desenhar uma região de preenchimento seguindo as etapas abaixo:

  1. Primeiramente, crie uma instância da classe Bitmap.
  2. Em seguida, inicialize o objeto da classe Graphics do objeto Bitmap recém-criado usando o método FromImage().
  3. Em seguida, crie uma instância da classe GraphicsPath.
  4. Enquanto isso, adicione um polígono usando o método AddPolygon().
  5. Em seguida, crie uma instância da classe Region.
  6. Em seguida, adicione outro objeto GraphicsPath e adicione um retângulo usando o método AddRectangle().
  7. Em seguida, chame o método Exclude() para excluir o caminho interno da região.
  8. Em seguida, defina um objeto de classe SolidBrush com a cor especificada.
  9. Depois disso, chame o método FillRegion() com os objetos SolidBrush e GraphicsPath.
  10. Por fim, salve a imagem de saída usando o método Save().

O exemplo de código a seguir mostra como desenhar uma região preenchida em C#.

// Este exemplo de código demonstra como desenhar uma região.
// Criar um bitmap
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Gráficos de inicialização do bitmap
Graphics graphics = Graphics.FromImage(bitmap);

// Adicionar um polígono
path.AddPolygon(new Point[] { new Point(100, 400), new Point(500, 100), new Point(900, 400), new Point(500, 700) });

// Inicializar uma região
Region region = new Region(path);

// Caminho gráfico interno
GraphicsPath innerPath = new GraphicsPath();

// Adicionar um retângulo
innerPath.AddRectangle(new Rectangle(300, 300, 400, 200));

// Excluir caminho interno
region.Exclude(innerPath);

// Definir um pincel sólido
Brush brush = new SolidBrush(Color.Blue);

// Preencher região
graphics.FillRegion(brush, region);

// Salve o bitmap como PNG
bitmap.Save("C:\\Files\\Drawing\\Lines.png");
Preencher região na programação gráfica usando C#

Preencher região na programação gráfica usando C#

Obtenha Licença Temporária Gratuita

Você pode obter uma licença temporária gratuita para experimentar o Aspose.Drawing para .NET sem limitações de avaliação.

Conclusão

Neste artigo, aprendemos como:

  • crie um novo bitmap;
  • desenhar retângulo, elipse, etc. em um bitmap;
  • desenhar linhas e caminhos;
  • salve uma imagem Bitmap como PNG em C#.

Além da programação gráfica em C#, você pode aprender mais sobre o Aspose.Drawing para .NET usando documentação e explorar vários recursos suportados pela API. Em caso de ambiguidade, sinta-se à vontade para nos contatar em nosso fórum de suporte gratuito.

Veja também