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:
- API de programación de gráficos vectoriales C#
- La estructura de un gráfico vectorial
- Programación de gráficos usando C#
- Curvas en Programación de Gráficos
- Polígonos y Rectángulos
- Cómo dibujar líneas
- Cómo dibujar caminos
- 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:
- Crea un objeto de la clase Bitmap.
- Inicialice un objeto de la clase Graphics desde el mapa de bits.
- Defina un objeto de clase Pen o SolidBrush con los parámetros deseados.
- Utilice los métodos específicos de la forma de la clase Graphics para dibujar las formas deseadas.
- 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:
- En primer lugar, cree una instancia de la clase Bitmap.
- 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.
- Luego, defina un objeto de clase Pen con el color y el tamaño especificados.
- Después de eso, llama al método DrawClosedCurve() para dibujar una curva cerrada.
- Opcionalmente, repita los pasos anteriores para agregar un arco y una elipse.
- 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");
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");
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");
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:
- En primer lugar, cree una instancia de la clase Bitmap.
- 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().
- Luego, defina un objeto de clase Pen con el color y el tamaño especificados.
- A continuación, cree una instancia de la clase GraphicsPath.
- Luego, agregue líneas usando el método AddLine().
- Después de eso, llama al método DrawPath() con los objetos Pen y GraphicsPath.
- 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");
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:
- En primer lugar, cree una instancia de la clase Bitmap.
- 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().
- Luego, crea una instancia de la clase GraphicsPath.
- Mientras tanto, agregue un polígono usando el método AddPolygon().
- A continuación, cree una instancia de la clase Región.
- Luego, agregue otro objeto GraphicsPath y agregue un rectángulo usando el método AddRectangle().
- A continuación, llame al método Exclude() para excluir la ruta interna de la región.
- Luego, defina un objeto de clase SolidBrush con el color especificado.
- Después de eso, llame al método FillRegion() con objetos SolidBrush y GraphicsPath.
- 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");
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.