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
- Desenhar uma linha usando C #
- Desenhe uma Elipse usando C#
- Desenhando um arco usando C#
- Desenhe um retângulo usando C#
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#.
- Primeiro, crie um objeto da classe BmpOptions e configure os bits por pixel usando a propriedade BitsPerPixel.
- Em seguida, atribua StreamSource usando a propriedade Source.
- Crie uma nova imagem e inicialize-a com o objeto BmpOptions e a altura e largura da imagem.
- Crie um objeto da classe Graphics e inicialize-o com o objeto Image.
- Limpe a superfície da imagem com um pouco de cor usando o método Graphics.Clear().
- Desenhe uma linha usando o método Graphics.DrawLine(Pen, int, int, int, int).
- Gere e salve a imagem usando o método Image.Save().
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.
Desenhe uma Elipse usando C#
A seguir estão as etapas para desenhar uma elipse em C#.
- Primeiro, crie um objeto da classe BmpOptions e configure os bits por pixel usando a propriedade BitsPerPixel.
- Em seguida, atribua StreamSource usando a propriedade Source.
- Crie uma nova imagem e inicialize-a com o objeto BmpOptions e a altura e largura da imagem.
- Crie um objeto da classe Graphics e inicialize-o com o objeto Image.
- Limpe a superfície da imagem com um pouco de cor usando o método Graphics.Clear().
- Desenhe uma elipse usando o método Graphics.DrawEllipse(Pen, Rectangle).
- Gere e salve a imagem usando o método Image.Save().
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 um arco usando C#
A seguir estão as etapas para desenhar um arco em C#.
- Primeiro, crie um objeto da classe BmpOptions e configure os bits por pixel usando a propriedade BitsPerPixel.
- Em seguida, atribua StreamSource usando a propriedade Source.
- Crie uma nova imagem e inicialize-a com o objeto BmpOptions e a altura e largura da imagem.
- Crie um objeto da classe Graphics e inicialize-o com o objeto Image.
- Limpe a superfície da imagem com um pouco de cor usando o método Graphics.Clear().
- Desenhe o arco usando o método Graphics.DrawArc(Pen, float x, float y, float width, float height, float startAngle, float sweepAngle).
- Gere e salve a imagem usando o método Image.Save().
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.
Desenhe um retângulo usando C#
A seguir estão as etapas para desenhar um retângulo em C#.
- Primeiro, crie um objeto da classe BmpOptions e configure os bits por pixel usando a propriedade BitsPerPixel.
- Em seguida, atribua StreamSource usando a propriedade Source.
- Crie uma nova imagem e inicialize-a com o objeto BmpOptions e a altura e largura da imagem.
- Crie um objeto da classe Graphics e inicialize-o com o objeto Image.
- Limpe a superfície da imagem com um pouco de cor usando o método Graphics.Clear().
- Desenhe um retângulo usando o método Graphics.DrawRectangle(Pen, Rectangle).
- Gere e salve a imagem usando o método Image.Save().
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.
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.