Dibujar formas en C#

A menudo se requiere crear diferentes objetos gráficos dibujando formas que incluyen círculos, líneas, rectángulos, etc. Estas formas también podrían usarse para la anotación de las imágenes. En este artículo, aprenderá a dibujar diferentes formas mediante programación en C#. Demostraremos cómo dibujar líneas, elipses, arcos y rectángulos y generar sus imágenes.

API de C# para dibujar formas - Descarga gratuita

Para dibujar diferentes tipos de formas, usaremos Aspose.Imaging for .NET. Es una increíble API de edición de imágenes que proporciona una amplia gama de funciones para manipular imágenes y crear dibujos. Puede descargar la API o instalarla desde NuGet.

PM> Install-Package Aspose.Imaging

Dibuja una línea usando C#

Los siguientes son los pasos para dibujar una línea en C#.

El siguiente ejemplo de código muestra cómo dibujar una línea en C#.

// Crear BmpOpciones
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// Defina la propiedad de origen para la instancia de BmpOptions
bmpCreateOptions.Source = new StreamSource();

// Crea una instancia de Image y llama al método create pasando el
// objeto bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);

// Crear e inicializar una instancia de la clase Graphics
Graphics graphic = new Graphics(image);

// Borrar la superficie de la imagen con color blanco
graphic.Clear(Color.White);

// Dibuje una línea de puntos especificando el objeto Pluma que tiene color azul y
// Puntos de coordenadas
graphic.DrawLine(new Pen(Color.Blue, 3), 18, 18, 200, 200);
graphic.DrawLine(new Pen(Color.Blue, 3), 18, 200, 200, 18);

// Dibuje una línea continua especificando el objeto Pluma que tiene Sólido
// Pincel con color rojo y estructuras de dos puntos
graphic.DrawLine(new Pen(new SolidBrush(Color.Red), 3),
        new Point(18, 18), new Point(18, 200));

// Dibuje una línea continua especificando el objeto Pluma que tiene Sólido
// Pincel de color blanco y estructuras de dos puntas
graphic.DrawLine(new Pen(new SolidBrush(Color.Orange), 3),
        new Point(200, 18), new Point(18, 18));

// Guardar todos los cambios
image.Save("draw_lines.bmp");

El siguiente es el resultado del ejemplo de código anterior.

dibujar linea en C#

Dibuja una elipse usando C#

Los siguientes son los pasos para dibujar una elipse en C#.

El siguiente ejemplo de código muestra cómo dibujar una elipse en una imagen en C#.

// Crear BmpOpciones
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// Defina la propiedad de origen para la instancia de BmpOptions
bmpCreateOptions.Source = new StreamSource();

// Crea una instancia de Image y llama al método create pasando el
// objeto bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);

// Crear e inicializar una instancia de la clase Graphics
Graphics graphic = new Graphics(image);

// Borrar la superficie de la imagen con color blanco
graphic.Clear(Color.White);

// Dibuje una forma de elipse punteada especificando el objeto Pluma que tiene rojo
// color y un rectángulo circundante
graphic.DrawEllipse(new Pen(Color.Red, 3), new Rectangle(60, 40, 70, 120));

// Dibuje una forma de elipse continua especificando el objeto Pen que tiene
// solid brush with blue color y un rectángulo circundante
graphic.DrawEllipse(new Pen(new SolidBrush(Color.Blue), 3),
        new Rectangle(40, 60, 120, 70));

// Guardar todos los cambios
image.Save("draw_ellipse.bmp");

El siguiente es el resultado del ejemplo de código anterior.

dibujar elipse en C#

Dibuja un arco usando C#

Los siguientes son los pasos para dibujar un arco en C#.

El siguiente ejemplo de código muestra cómo dibujar un arco en una imagen en C#.

// Crear BmpOpciones
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// Defina la propiedad de origen para la instancia de BmpOptions
bmpCreateOptions.Source = new StreamSource();

// Crea una instancia de Image y llama al método create pasando el
// objeto bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);

// Crear e inicializar una instancia de la clase Graphics
Graphics graphic = new Graphics(image);

// Borrar la superficie de la imagen con color blanco
graphic.Clear(Color.White);

// Dibuje una forma de arco punteado especificando el objeto Pluma que tiene rojo negro
// color y coordenadas, altura, ancho, ángulos inicial y final
int width = 200;
int height = 300;
int startAngle = 45;
int sweepAngle = 270;

// Dibujar arco a la pantalla
graphic.DrawArc(new Pen(Color.Black, 3), 0, 0, width, height, startAngle, sweepAngle);

// Guardar todos los cambios
image.Save("draw_arc.bmp");

El siguiente es el resultado del ejemplo de código anterior.

dibujar arco en C#

Dibuja un rectángulo usando C#

Los siguientes son los pasos para dibujar un rectángulo en C#.

El siguiente ejemplo de código muestra cómo dibujar un rectángulo en una imagen en C#.

// Crear BmpOpciones
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// Defina la propiedad de origen para la instancia de BmpOptions
bmpCreateOptions.Source = new StreamSource();

// Crea una instancia de Image y llama al método create pasando el
// objeto bmpCreateOptions
Image image = Image.Create(bmpCreateOptions, 500, 500);

// Crear e inicializar una instancia de la clase Graphics
Graphics graphic = new Graphics(image);

// Borrar la superficie de la imagen con color blanco
graphic.Clear(Color.White);

// Dibuje una forma de rectángulo punteado especificando el objeto Pluma que tiene rojo
// color y una estructura rectangular
graphic.DrawRectangle(new Pen(Color.Red, 3),
        new Rectangle(60, 40, 70, 120));

// Dibuje una forma de rectángulo continuo especificando el objeto Pen que tiene
// solid brush with blue color y una estructura rectangular
graphic.DrawRectangle(new Pen(new SolidBrush(Color.Blue), 3),
        new Rectangle(40, 60, 120, 70));

// Guardar todos los cambios
image.Save("draw_reactangle.bmp");

El siguiente es el resultado del ejemplo de código anterior.

dibujar un rectángulo en C#

API de dibujo de imágenes C# .NET: obtenga una licencia gratuita

Puede obtener una licencia temporal gratuita y dibujar formas sin limitaciones de evaluación.

Conclusión

En este artículo, ha aprendido a dibujar formas en C#. Hemos cubierto cómo dibujar líneas, elipses, arcos y rectángulos en imágenes mediante programación. Puede integrar fácilmente los ejemplos de código proporcionados en sus aplicaciones de C#.

Lee mas

Puede explorar más sobre la API de procesamiento de imágenes de .NET utilizando documentación. Además, puede compartir sus consultas con nosotros a través de nuestro foro.

Ver también