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
- Dibuja una línea usando C#
- Dibuja una elipse usando C#
- Dibujar un arco usando C#
- Dibuja un rectángulo usando C#
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#.
- Primero, cree un objeto de la clase BmpOptions y configure los bits por píxel usando la propiedad BitsPerPixel.
- Luego, asigne StreamSource usando la propiedad Source.
- Cree una nueva imagen e inicialícela con el objeto BmpOptions y la altura y el ancho de la imagen.
- Cree un objeto de la clase Graphics e inicialícelo con el objeto Image.
- Limpia la superficie de la imagen con algo de color usando el método Graphics.Clear().
- Dibuje una línea usando el método Graphics.DrawLine(Pen, int, int, int, int).
- Genere y guarde la imagen usando el método Image.Save().
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.
Dibuja una elipse usando C#
Los siguientes son los pasos para dibujar una elipse en C#.
- Primero, cree un objeto de la clase BmpOptions y configure los bits por píxel usando la propiedad BitsPerPixel.
- Luego, asigne StreamSource usando la propiedad Source.
- Cree una nueva imagen e inicialícela con el objeto BmpOptions y la altura y el ancho de la imagen.
- Cree un objeto de la clase Graphics e inicialícelo con el objeto Image.
- Limpia la superficie de la imagen con algo de color usando el método Graphics.Clear().
- Dibuja una elipse usando el método Graphics.DrawEllipse(Pen, Rectangle).
- Genere y guarde la imagen usando el método Image.Save().
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.
Dibuja un arco usando C#
Los siguientes son los pasos para dibujar un arco en C#.
- Primero, cree un objeto de la clase BmpOptions y configure los bits por píxel usando la propiedad BitsPerPixel.
- Luego, asigne StreamSource usando la propiedad Source.
- Cree una nueva imagen e inicialícela con el objeto BmpOptions y la altura y el ancho de la imagen.
- Cree un objeto de la clase Graphics e inicialícelo con el objeto Image.
- Limpia la superficie de la imagen con algo de color usando el método Graphics.Clear().
- Dibuje un arco usando el método Graphics.DrawArc(Pen, float x, float y, float width, float height, float startAngle, float sweepAngle).
- Genere y guarde la imagen usando el método Image.Save().
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.
Dibuja un rectángulo usando C#
Los siguientes son los pasos para dibujar un rectángulo en C#.
- Primero, cree un objeto de la clase BmpOptions y configure los bits por píxel usando la propiedad BitsPerPixel.
- Luego, asigne StreamSource usando la propiedad Source.
- Cree una nueva imagen e inicialícela con el objeto BmpOptions y la altura y el ancho de la imagen.
- Cree un objeto de la clase Graphics e inicialícelo con el objeto Image.
- Limpia la superficie de la imagen con algo de color usando el método Graphics.Clear().
- Dibuja un rectángulo usando el método Graphics.DrawRectangle(Pen, Rectangle).
- Genere y guarde la imagen usando el método Image.Save().
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.
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.