Programación de gráficos en C#

La programación de gráficos en C# puede parecer más fácil o más difícil de lo que piensa. En este artículo, aprenderá cómo crear impresionantes gráficos vectoriales mediante programación. Ya sea que esté creando gráficos como parte de su proyecto actual o como base de su propio juego o aplicación. Aprenderá a crear bellas imágenes con facilidad. ¡Empecemos!

En este artículo se tratarán los siguientes temas:

  1. API de programación de gráficos vectoriales C#
  2. La estructura de un gráfico vectorial
  3. Programación de gráficos usando C#
  4. Curvas en Programación de Gráficos
  5. Polígonos y Rectángulos
  6. Cómo dibujar líneas
  7. Cómo dibujar caminos
  8. Dibujar una región de relleno

API de programación de gráficos vectoriales C# - Descarga gratuita

Para crear impresionantes gráficos vectoriales en C#, utilizaremos la API Aspose.Drawing for .NET. Es una biblioteca de gráficos 2D multiplataforma para dibujar texto, geometrías e imágenes mediante programación. Permite cargar, guardar y manipular los formatos de archivo admitidos.

Descargue la DLL de la API o instálela mediante NuGet.

PM> Install-Package Aspose.Drawing

La estructura de un gráfico vectorial

Los gráficos vectoriales se componen de formas geométricas: líneas, curvas y caminos. Estos objetos, con varias propiedades como longitud y color, pueden ser manipulados por un programa C#.

Programación de gráficos usando C#

Podemos pintar o dibujar varios tipos de formas, incluidas curvas, líneas, rectángulos, regiones rellenas, elipses y polígonos. La API proporciona varios métodos para dibujar estas formas. Podemos crear una variedad de diferentes gráficos vectoriales mediante programación siguiendo los pasos que se detallan a continuación:

  1. Crea un objeto de la clase Bitmap.
  2. Inicialice un objeto de la clase Graphics desde el mapa de bits.
  3. Defina un objeto de clase Pen o SolidBrush con los parámetros deseados.
  4. Utilice los métodos específicos de la forma de la clase Graphics para dibujar las formas deseadas.
  5. Al final, guarda la imagen.

Ahora, veamos cómo realizar estos pasos en C#.

Curvas en Programación de Gráficos usando C#

Podemos dibujar arcos, círculos, elipses o curvas cerradas usando los siguientes métodos:

  • Método DrawArc() para dibujar un arco.
  • Método DrawEllipse() para dibujar una elipse.
  • Método DrawClosedCurve() para dibujar una curva cerrada.
  • Método DrawCurve() para dibujar una curva.

Siga los pasos que se indican a continuación para dibujar una forma curva:

  1. En primer lugar, cree una instancia de la clase Bitmap.
  2. A continuación, cree el objeto de la clase Graphics utilizando el método FromImage() a partir del objeto de mapa de bits recién creado.
  3. Luego, defina un objeto de clase Pen con el color y el tamaño especificados.
  4. Después de eso, llama al método DrawClosedCurve() para dibujar una curva cerrada.
  5. Opcionalmente, repita los pasos anteriores para agregar un arco y una elipse.
  6. Finalmente, guarde la imagen de salida usando el método Save().

El siguiente ejemplo de código muestra cómo pintar formas curvas en C#.

// Este ejemplo de código muestra cómo dibujar una curva cerrada, un arco y un círculo.
// Crear un mapa de bits
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Gráficos iniciales de mapa de bits
Graphics graphics = Graphics.FromImage(bitmap);

// Definir un Pen para dibujar
Pen penBlue = new Pen(Color.Blue, 4);

// dibujar una 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) });

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

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

// Guarde el mapa de bits como PNG
bitmap.Save("C:\\Files\\Drawing\\Curves.png");
Curvas en Programación de Gráficos usando C#

Curvas en Programación de Gráficos usando C#

Polígonos y Rectángulos en Programación de Gráficos usando C#

Podemos dibujar polígonos y rectángulos siguiendo los pasos mencionados anteriormente. Sin embargo, necesitamos usar los siguientes métodos en el paso # 4:

  • Método DrawPolygon() para dibujar un polígono.
  • Método DrawRectangle() para dibujar un rectángulo.

El siguiente ejemplo de código muestra cómo dibujar polígonos y rectángulos en C#.

// Este ejemplo de código muestra cómo dibujar un polígono y un rectángulo.
// Crear un mapa de bits
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Gráficos iniciales de mapa de bits
Graphics graphics = Graphics.FromImage(bitmap);

// Definir un Pen para dibujar
Pen penBlue = new Pen(Color.Blue, 4);

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

// dibujar un rectángulo
Pen penRed = new Pen(Color.Red, 2);
graphics.DrawRectangle(penRed, 10, 10, 900, 700);

// Guarde el mapa de bits como PNG
bitmap.Save("C:\\Files\\Drawing\\Shapes.png");
Cargar una imagen en mapa de bits mediante CSharp

Cargue una imagen en mapa de bits usando C#

Programación de Líneas en Gráficos usando C#

Del mismo modo, podemos dibujar líneas siguiendo los pasos mencionados anteriormente. Sin embargo, necesitamos usar el método DrawLine() en el paso # 4 para dibujar una línea.

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

// Este ejemplo de código demuestra cómo dibujar una línea.
// Crear un mapa de bits
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Gráficos iniciales de mapa de bits
Graphics graphics = Graphics.FromImage(bitmap);

// Definir un Pen para dibujar
Pen penBlue = new Pen(Color.Blue, 4);

// Dibujar líneas
graphics.DrawLine(pen, 10, 700, 500, 10);
graphics.DrawLine(pen, 500, 10, 990, 700);

// Guarde el mapa de bits como PNG
bitmap.Save("C:\\Files\\Drawing\\Lines.png");
Programación de Líneas en Gráficos usando C#

Programación de Líneas en Gráficos usando C#

Rutas en Programación de Gráficos usando C#

En gráficos vectoriales, una ruta representa una serie de líneas rectas suaves definidas por un punto inicial y final, junto con otros puntos. Podemos dibujar un camino siguiendo los pasos que se detallan a continuación:

  1. En primer lugar, cree una instancia de la clase Bitmap.
  2. A continuación, inicialice el objeto de la clase Graphics a partir del objeto de mapa de bits recién creado mediante el método FromImage().
  3. Luego, defina un objeto de clase Pen con el color y el tamaño especificados.
  4. A continuación, cree una instancia de la clase GraphicsPath.
  5. Luego, agregue líneas usando el método AddLine().
  6. Después de eso, llama al método DrawPath() con los objetos Pen y GraphicsPath.
  7. Finalmente, guarde la imagen de salida usando el método Save().

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

// Este ejemplo de código demuestra cómo dibujar una ruta.
// Crear un mapa de bits
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Gráficos iniciales de mapa de bits
Graphics graphics = Graphics.FromImage(bitmap);

// Definir un Pen para dibujar
Pen penBlue = new Pen(Color.Blue, 4);

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

// Añadir línea 1
path.AddLine(100, 100, 1000, 400);

// Añadir línea 2
path.AddLine(1000, 600, 300, 600);

// Agregar rectángulo
path.AddRectangle(new Rectangle(500, 350, 200, 400));

// Añadir elipse
path.AddEllipse(10, 250, 450, 300);

// dibujar un camino
graphics.DrawPath(pen, path);

// Guarde el mapa de bits como PNG
bitmap.Save("C:\\Files\\Drawing\\Shapes.png");
Rutas en Programación de Gráficos usando C#

Rutas en Programación de Gráficos usando C#

Rellenar Región en Programación de Gráficos usando C#

Podemos dibujar una región de relleno siguiendo los pasos que se indican a continuación:

  1. En primer lugar, cree una instancia de la clase Bitmap.
  2. A continuación, inicialice el objeto de la clase Graphics a partir del objeto de mapa de bits recién creado mediante el método FromImage().
  3. Luego, crea una instancia de la clase GraphicsPath.
  4. Mientras tanto, agregue un polígono usando el método AddPolygon().
  5. A continuación, cree una instancia de la clase Región.
  6. Luego, agregue otro objeto GraphicsPath y agregue un rectángulo usando el método AddRectangle().
  7. A continuación, llame al método Exclude() para excluir la ruta interna de la región.
  8. Luego, defina un objeto de clase SolidBrush con el color especificado.
  9. Después de eso, llame al método FillRegion() con objetos SolidBrush y GraphicsPath.
  10. Finalmente, guarde la imagen de salida usando el método Save().

El siguiente ejemplo de código muestra cómo dibujar una región rellena en C#.

// Este ejemplo de código demuestra cómo dibujar una Región.
// Crear un mapa de bits
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Gráficos iniciales de mapa de bits
Graphics graphics = Graphics.FromImage(bitmap);

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

// Inicializar una región
Region region = new Region(path);

// Ruta de gráficos interna
GraphicsPath innerPath = new GraphicsPath();

// Agregar un rectángulo
innerPath.AddRectangle(new Rectangle(300, 300, 400, 200));

// Excluir ruta interna
region.Exclude(innerPath);

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

// Región de relleno
graphics.FillRegion(brush, region);

// Guarde el mapa de bits como PNG
bitmap.Save("C:\\Files\\Drawing\\Lines.png");
Rellenar Región en Programación de Gráficos usando C#

Rellenar Región en Programación de Gráficos usando C#

Obtenga una Licencia Temporal Gratis

Puede obtener una licencia temporal gratuita para probar Aspose.Drawing para .NET sin limitaciones de evaluación.

Conclusión

En este artículo, hemos aprendido a:

  • crear un nuevo mapa de bits;
  • dibujar rectángulos, elipses, etc. en un mapa de bits;
  • dibujar líneas y caminos;
  • guarde una imagen de mapa de bits como PNG en C#.

Además de la programación de gráficos en C#, puede obtener más información sobre Aspose.Drawing para .NET mediante documentación y explorar varias funciones compatibles con la API. En caso de cualquier ambigüedad, no dude en contactarnos en nuestro foro de soporte gratuito.

Ver también