Un mapa de bits se utiliza para crear y almacenar gráficos de computadora. Las imágenes de mapa de bits se utilizan ampliamente en páginas web y dispositivos digitales como cámaras, teléfonos inteligentes, etc. Los tipos de archivos gráficos de mapa de bits más comunes son BMP, GIF, PNG y JPEG. En este artículo, aprenderemos cómo crear un mapa de bits en C#.
En este artículo se tratarán los siguientes temas:
- API de C# para crear, cargar, rellenar y dibujar mapas de bits
- Crear un nuevo mapa de bits desde cero
- Crear un mapa de bits a partir de una matriz de bytes
- Guardar mapa de bits como archivo de imagen
- Dibujar formas en mapa de bits
- Dibujar texto en imagen de mapa de bits
- Rellenar un mapa de bits con color sólido
- Cargar una imagen en mapa de bits
- Cambiar el tamaño de una imagen existente usando mapa de bits
API de C# para crear, cargar, rellenar y dibujar mapas de bits - Descarga gratuita
Para crear un mapa de bits, 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 usando NuGet.
PM> Install-Package Aspose.Drawing
Crear un nuevo mapa de bits en C#
Podemos crear un nuevo mapa de bits desde cero siguiendo los pasos que se indican a continuación:
- En primer lugar, cree un nuevo mapa de bits utilizando la clase Bitmap con el tamaño y formato especificados.
- A continuación, cree un nuevo objeto Graphics a partir del objeto Bitmap utilizando el método FromImage().
- Luego, inicialice un objeto de clase Pen con el color y el tamaño especificados.
- Después de eso, llama al método DrawEllipse() para dibujar una Elipse con un tamaño específico.
- Finalmente, guarde la imagen de salida usando el método Save().
El siguiente ejemplo de código muestra cómo crear un nuevo mapa de bits en C#.
// Este ejemplo de código demuestra cómo crear un nuevo mapa de bits mediante programación en C#.
// Inicializar objeto de mapa de bits
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
// Crear un nuevo gráfico
Graphics graphics = Graphics.FromImage(bitmap);
// Inicializar una pluma
Pen pen = new Pen(Color.Red, 5);
// dibujar un rectángulo
graphics.DrawEllipse(pen, new Rectangle(0, 0, 700, 700));
// Guarda el archivo
bitmap.Save(@"C:\Files\Drawings\output.png");
Crear un mapa de bits a partir de Byte Array en C#
Podemos crear un mapa de bits a partir de bytes de flujo de memoria siguiendo los pasos que se detallan a continuación:
- Lea el archivo de imagen en una matriz de bytes.
- Cree una nueva instancia de MemoryStream utilizando el objeto de matriz de bytes.
- Cree un nuevo mapa de bits utilizando la clase Bitmap con el objeto MemoryStream.
- Finalmente, guarde la imagen usando el método Save().
El siguiente ejemplo de código muestra cómo crear un mapa de bits a partir de Byte Array mediante MemoryStream en C#.
// Este ejemplo de código demuestra cómo crear un nuevo mapa de bits a partir de bytes de flujo de memoria en C#.
// Cargue la imagen y lea todos los bytes
var file = File.ReadAllBytes(@"C:\Files\Drawings\sample.jpg");
// Crear flujo de memoria
MemoryStream stream = new MemoryStream(file);
// Crear un nuevo mapa de bits
Bitmap bitmap = new Bitmap(stream);
// Guarda el archivo
bitmap.Save(@"C:\Files\Drawings\output.jpg");
C# Guardar mapa de bits en un archivo
Podemos guardar una imagen de mapa de bits en un archivo en varios formatos de archivo compatibles siguiendo los pasos mencionados anteriormente. Sin embargo, solo tenemos que mencionar la extensión de formato de archivo guardado deseada al guardar el archivo de imagen usando el método Guardar (nombre de archivo de cadena, formato de formato de imagen) en el último paso.
- Guardar un mapa de bits como un archivo BMP
bitmap.Save(@"C:\Files\output.bmp", ImageFormat.Bmp);
- Guardar un mapa de bits como un archivo PNG
bitmap.Save(@"C:\Files\output.png", ImageFormat.Png);
- Guardar un mapa de bits como un archivo JPG
bitmap.Save(@"C:\Files\output.jpg", ImageFormat.Jpeg);
- Guardar un mapa de bits como un archivo GIF
bitmap.Save(@"C:\Files\output.gif", ImageFormat.Gif);
C# Dibujar en mapa de bits
Podemos dibujar varias formas e imágenes en un mapa de bits siguiendo los pasos mencionados anteriormente. Sin embargo, solo necesitamos usar los métodos específicos de forma para dibujar las formas deseadas.
Podemos dibujar las siguientes formas utilizando los métodos específicos proporcionados para dibujar en mapa de bits:
- Arco: Podemos dibujar un Arco usando el método DrawArc().
- Bezier: Podemos dibujar un Bezier usando el método DrawBezier().
- Una serie de splines Bézier: Podemos dibujar una serie de splines Bézier utilizando el método DrawBeziers().
- Curva: podemos dibujar una forma curva utilizando el método DrawCurve().
- ClosedCurve: Podemos dibujar una curva cerrada usando el método DrawClosedCurve().
- Elipse: Podemos dibujar una Elipse usando el método DrawEllipse().
- Línea: Podemos dibujar una Línea usando el método DrawLine().
- Una serie de Líneas: Podemos dibujar una serie de Líneas usando el método DrawLines().
- Camino: Podemos dibujar un Camino usando el método DrawPath().
- Pie: Podemos dibujar un Pie usando el método DrawPie().
- Polígono: podemos dibujar un polígono usando el método DrawPolygon().
- Rectángulo: Podemos dibujar un Rectángulo usando el método DrawRectangle().
- Una serie de Rectángulos: Podemos dibujar una serie de Rectángulos usando el método DrawRectangles().
Podemos dibujar las imágenes en el mapa de bits usando los siguientes métodos:
- Icono: podemos dibujar la imagen representada por el icono especificado dentro del área especificada por una estructura de rectángulo utilizando el método DrawIcon().
- Imagen: podemos dibujar cualquier imagen específica usando el método DrawImage().
C# Dibujar texto en mapa de bits
Podemos dibujar cualquier cadena en un mapa de bits siguiendo los pasos que se indican a continuación:
- En primer lugar, cree un nuevo mapa de bits utilizando la clase Bitmap con el tamaño especificado.
- A continuación, cree un nuevo objeto Graphics a partir del objeto Bitmap utilizando el método FromImage().
- Luego, defina un objeto de clase de fuente con la familia de fuentes, el estilo y el tamaño deseados.
- Mientras tanto, inicialice un objeto SolidBrush con el color especificado.
- Después de eso, llame al método DrawString() con el texto para mostrar, los objetos Font y Brush como argumentos.
- Finalmente, guarde la imagen de salida usando el método Save().
El siguiente ejemplo de código muestra cómo dibujar texto en un mapa de bits en C#.
// Este ejemplo de código demuestra cómo dibujar un texto en un mapa de bits nuevo mediante programación en C#.
// Inicializar objeto de mapa de bits
Bitmap bitmap = new Bitmap(500,200);
// Crear un nuevo gráfico
Graphics graphics = Graphics.FromImage(bitmap);
// Inicializar una fuente
var font = new Font(FontFamily.GenericSerif, 40f, FontStyle.Bold);
// Inicializar un pincel
var brush = new SolidBrush(Color.Red);
// dibujar un rectángulo
graphics.DrawString("Welcome to Bitmap!", font, brush, 10, 20);
// Guarda el archivo
bitmap.Save(@"C:\Files\Drawings\output.png", ImageFormat.Png);
Rellene un mapa de bits con color sólido en C#
Podemos llenar un mapa de bits con un color sólido usando un rectángulo relleno y guardarlo en un nuevo mapa de bits siguiendo los pasos que se detallan a continuación:
- En primer lugar, cree un nuevo mapa de bits utilizando la clase Bitmap con el tamaño especificado.
- A continuación, cree un nuevo objeto Graphics a partir del objeto Bitmap utilizando el método FromImage().
- Luego, inicialice un objeto de clase Rectangle con la ubicación y el tamaño especificados.
- Después de eso, llama al método FillRectangle() con el color del pincel y el Rectangle.
- Finalmente, guarde la imagen de salida usando el método Save().
El siguiente ejemplo de código muestra cómo llenar un mapa de bits con un color sólido mediante un rectángulo en C#.
// Este ejemplo de código muestra cómo crear un nuevo mapa de bits con un rectángulo relleno en C#.
// Inicializar mapa de bits con tamaño especificado
Bitmap bitmap = new Bitmap(500, 500);
// Crear un nuevo gráfico
Graphics graph = Graphics.FromImage(bitmap);
// Definir un rectángulo
Rectangle ImageSize = new Rectangle(0, 0, 500, 500);
// Dibujar un rectángulo relleno
graph.FillRectangle(Brushes.Gray, ImageSize);
// Guarda el archivo
bitmap.Save(@"C:\Files\Drawings\output.png");
Cargue una imagen en mapa de bits usando C#
También podemos cargar una imagen existente en un mapa de bits y guardarla como un nuevo mapa de bits siguiendo los pasos que se detallan a continuación:
- En primer lugar, cargue una imagen utilizando la clase Bitmap.
- A continuación, cree un nuevo mapa de bits utilizando la clase Bitmap con el tamaño especificado.
- Luego, cree un nuevo objeto Graphics a partir del objeto Bitmap recién creado usando el método FromImage().
- Después de eso, llame al método DrawImage() con la imagen y las coordenadas de ubicación como argumentos.
- Finalmente, guarde la imagen de salida usando el método Save().
El siguiente ejemplo de código muestra cómo cargar una imagen en un mapa de bits mediante C#.
// Este ejemplo de código muestra cómo cargar una imagen en un mapa de bits y guardarla como un nuevo mapa de bits.
// Carga la imagen:
Bitmap image = new Bitmap(@"C:\Files\Drawings\sample.jpg");
// Inicializar mapa de bits con tamaño especificado
Bitmap bitmap = new Bitmap(1000, 1000);
// Crear un nuevo gráfico
Graphics graphics = Graphics.FromImage(bitmap);
// Dibujar imagen en la ubicación especificada
graphics.DrawImage(image, 10, 10);
// Guarda el archivo
bitmap.Save(@"C:\Files\Drawings\output.png");
Cómo cambiar el tamaño de la imagen usando mapa de bits en C#
Podemos cargar y cambiar el tamaño de una imagen existente en un mapa de bits y guardarla como un nuevo mapa de bits siguiendo los pasos que se detallan a continuación:
- Cargue una imagen existente usando la clase Bitmap.
- Cree un nuevo mapa de bits utilizando la clase Bitmap con la imagen cargada y el tamaño especificado.
- Finalmente, guarde la imagen de salida usando el método Save().
El siguiente ejemplo de código muestra cómo cambiar el tamaño de una imagen existente y guardarla como un mapa de bits nuevo en C#.
// Este ejemplo de código demuestra cómo cambiar el tamaño de una imagen existente y crear un nuevo mapa de bits en C#.
// Carga la imagen:
Bitmap image = new Bitmap(@"C:\Files\Drawings\sample.jpg");
// Cree un nuevo mapa de bits de la mitad del tamaño de la imagen cargada:
Bitmap bitmap = new Bitmap(image, (int)(image.Width * 0.5), (int)(image.Height * 0.5));
// Guarda el archivo
bitmap.Save(@"C:\Files\Drawings\output.jpg");
Obtenga una Licencia Temporal Gratis
Puede obtener una licencia temporal gratuita para probar Aspose.Drawing for .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;
- cargar una imagen existente;
- cambiar el tamaño de una imagen existente y crear un nuevo mapa de bits con un nuevo tamaño;
- guarde una imagen de mapa de bits de MemoryStream o una matriz de bytes en un archivo;
- establecer un ancho y alto de un mapa de bits en C#.
Además de crear un nuevo mapa de bits en C#, puede obtener más información sobre Aspose.Drawing for .NET utilizando 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.