Desenhar Formas em C#

Muitas vezes é necessário criar diferentes objetos gráficos desenhando formas, incluindo círculos, linhas, retângulos, etc. Essas formas também podem ser usadas para a anotação das imagens. Neste artigo, você aprenderá como desenhar diferentes formas programaticamente em C#. Demonstraremos como desenhar linhas, elipses, arcos e retângulos e gerar suas imagens.

API C# para desenhar formas - Download grátis

Para desenhar diferentes tipos de formas, usaremos Aspose.Imaging for .NET. É uma incrível API de edição de imagens que fornece uma ampla gama de recursos para manipular imagens e criar desenhos. Você pode baixar a API ou instalá-la do NuGet.

PM> Install-Package Aspose.Imaging

Desenhar uma linha usando C

A seguir estão as etapas para desenhar uma linha em C#.

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

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

// Defina a propriedade de origem para a instância de BmpOptions
bmpCreateOptions.Source = new StreamSource();

// Cria uma instância de Image e chama o método create passando o
// Objeto bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);

// Crie e inicialize uma instância da classe Graphics
Graphics graphic = new Graphics(image);

// Limpe a superfície da imagem com a cor branca
graphic.Clear(Color.White);

// Desenhe uma linha pontilhada especificando o objeto Pen com cor azul e
// pontos de coordenação
graphic.DrawLine(new Pen(Color.Blue, 3), 18, 18, 200, 200);
graphic.DrawLine(new Pen(Color.Blue, 3), 18, 200, 200, 18);

// Desenhe uma linha contínua especificando o objeto Pen com Solid
// Pincel com cor vermelha e estruturas de duas pontas
graphic.DrawLine(new Pen(new SolidBrush(Color.Red), 3),
        new Point(18, 18), new Point(18, 200));

// Desenhe uma linha contínua especificando o objeto Pen com Solid
// Pincel com cor branca e estruturas de duas pontas
graphic.DrawLine(new Pen(new SolidBrush(Color.Orange), 3),
        new Point(200, 18), new Point(18, 18));

// Salvar todas as alterações
image.Save("draw_lines.bmp");

A seguir está a saída do exemplo de código acima.

desenhar linha em C#

Desenhe uma Elipse usando C#

A seguir estão as etapas para desenhar uma elipse em C#.

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

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

// Defina a propriedade de origem para a instância de BmpOptions
bmpCreateOptions.Source = new StreamSource();

// Cria uma instância de Image e chama o método create passando o
// Objeto bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);

// Crie e inicialize uma instância da classe Graphics
Graphics graphic = new Graphics(image);

// Limpe a superfície da imagem com a cor branca
graphic.Clear(Color.White);

// Desenhe uma forma de elipse pontilhada especificando o objeto Pen com vermelho
// cor e um retângulo circundante
graphic.DrawEllipse(new Pen(Color.Red, 3), new Rectangle(60, 40, 70, 120));

// Desenhe uma forma de elipse contínua especificando o objeto Pen com
// solid brush with blue cor e um retângulo circundante
graphic.DrawEllipse(new Pen(new SolidBrush(Color.Blue), 3),
        new Rectangle(40, 60, 120, 70));

// Salvar todas as alterações
image.Save("draw_ellipse.bmp");

A seguir está a saída do exemplo de código acima.

desenhar elipse em C#

Desenhar um arco usando C#

A seguir estão as etapas para desenhar um arco em C#.

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

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

// Defina a propriedade de origem para a instância de BmpOptions
bmpCreateOptions.Source = new StreamSource();

// Cria uma instância de Image e chama o método create passando o
// Objeto bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);

// Crie e inicialize uma instância da classe Graphics
Graphics graphic = new Graphics(image);

// Limpe a superfície da imagem com a cor branca
graphic.Clear(Color.White);

// Desenhe uma forma de arco pontilhado especificando o objeto Pen com vermelho preto
// cor e coordenadas, altura, largura, ângulos iniciais e finais
int width = 200;
int height = 300;
int startAngle = 45;
int sweepAngle = 270;

// Desenhar arco na tela
graphic.DrawArc(new Pen(Color.Black, 3), 0, 0, width, height, startAngle, sweepAngle);

// Salvar todas as alterações
image.Save("draw_arc.bmp");

A seguir está a saída do exemplo de código acima.

desenhar arco em C #

Desenhe um retângulo usando C#

A seguir estão as etapas para desenhar um retângulo em C#.

O exemplo de código a seguir mostra como desenhar um retângulo em uma imagem em C#.

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

// Defina a propriedade de origem para a instância de BmpOptions
bmpCreateOptions.Source = new StreamSource();

// Cria uma instância de Image e chama o método create passando o
// Objeto bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);

// Crie e inicialize uma instância da classe Graphics
Graphics graphic = new Graphics(image);

// Limpe a superfície da imagem com a cor branca
graphic.Clear(Color.White);

// Desenhe uma forma de retângulo pontilhado especificando o objeto Pen com vermelho
// cor e uma estrutura retangular
graphic.DrawRectangle(new Pen(Color.Red, 3),
        new Rectangle(60, 40, 70, 120));

// Desenhe uma forma retangular contínua especificando o objeto Pen com
// solid brush with blue cor e uma estrutura retangular
graphic.DrawRectangle(new Pen(new SolidBrush(Color.Blue), 3),
        new Rectangle(40, 60, 120, 70));

// Salvar todas as alterações
image.Save("draw_reactangle.bmp");

A seguir está a saída do exemplo de código acima.

desenhar retângulo em C#

API de desenho de imagem C# .NET - obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita e desenhar formas sem limitações de avaliação.

Conclusão

Neste artigo, você aprendeu a desenhar formas em C#. Abordamos como desenhar linhas, elipses, arcos e retângulos em imagens programaticamente. Você pode integrar facilmente os exemplos de código fornecidos em seus aplicativos C#.

consulte Mais informação

Você pode explorar mais sobre a API de processamento de imagem .NET usando documentação. Além disso, você pode compartilhar suas dúvidas conosco através do nosso fórum.

Veja também