Convertir imagen a matriz de bytes en C#
- Descripción general de la matriz de bytes
-
Utilice
Flujo de memoria
para convertir la imagen en una matriz de bytes enC#
-
Utilice
ImageConverter
para convertir la imagen en una matriz de bytes enC#
-
Convertir matriz de bytes en imagen en
C#
Este tutorial nos enseñará cómo convertir una imagen en una matriz de bytes usando las clases Memory Stream
y Image Converter
. Además, comprenderemos mejor el proceso de convertir una matriz de bytes de C# en una imagen.
Descripción general de la matriz de bytes
Una colección de datos binarios a menudo se almacena en un formato conocido como matriz de bytes, que es una matriz de bytes. Por ejemplo, la información relativa a cada píxel de una imagen se almacena dentro de la matriz de bytes que constituye la imagen.
En la matriz de bytes, podemos guardar la representación binaria del contenido de cualquier archivo. De la misma manera, inicializamos el arreglo regular con los bytes; también podemos inicializar la matriz de bytes con los bytes.
Utilice Flujo de memoria
para convertir la imagen en una matriz de bytes en C#
.NET Framework proporciona soporte para una amplia variedad de formatos de imagen. El objeto Picture tiene un método de guardado que permite a los desarrolladores guardar una imagen en un archivo en cualquiera de estos formatos.
Código:
public byte[] imgToByteArray(Image img) {
using (MemoryStream mStream = new MemoryStream()) {
img.Save(mStream, img.RawFormat);
return mStream.ToArray();
}
}
En el ejemplo anterior, escribimos una función llamada imgToByteArray
que acepta una entrada img
de tipo Imagen
como argumento. Dentro de la línea using
de este método, creamos una instancia de la clase MemoryStream()
.
Luego aplicamos la función Save()
al objeto MemoryStream
durante esta instancia mientras se especifica un formato de imagen. Ahora que el elemento ya está almacenado en la memoria, el método ToArray()
disponible en el objeto MemoryStream
puede transformarlo rápida y eficientemente en una matriz de bytes.
Utilice ImageConverter
para convertir la imagen en una matriz de bytes en C#
Código:
public static byte[] imgToByteConverter(Image inImg) {
ImageConverter imgCon = new ImageConverter();
return (byte[])imgCon.ConvertTo(inImg, typeof(byte[]));
}
Creamos una función llamada imgToByteConverter()
. Toma una entrada llamada inImg
y tiene como parámetro el tipo Imagen
.
Dentro de este método, creamos una instancia de la clase ImageConverter()
. Después de convertir la imagen que se le envió utilizando el método .ConvertTo()
, esta función devolverá los bytes que se convirtieron a su formato original.
Convertir matriz de bytes en imagen en C#
Convertir una imagen en una matriz de bytes es algo con lo que estamos familiarizados. Ahora que se ha cargado la matriz de bytes, veremos la función que la transformará en una imagen para que podamos utilizar la imagen en nuestro código en el futuro.
Código:
public Image byteArrayToImage(byte[] byteArrayIn) {
using (MemoryStream mStream = new MemoryStream(byteArrayIn)) {
return Image.FromStream(mStream);
}
}
Se crea una función llamada byteArrayToImage()
. Toma una entrada llamada byteArrayIn
y tiene el tipo byte[]
como parámetro.
Este método contiene una instrucción using
que inicializa una instancia de la clase MemoryStream
proporcionándole los bytes almacenados en la variable byteArrayIn
. Luego, los bytes se transforman en una imagen con la ayuda del método .FromStream()
, que solicita un argumento denominado mStream
y lo devuelve.
I'm a Flutter application developer with 1 year of professional experience in the field. I've created applications for both, android and iOS using AWS and Firebase, as the backend. I've written articles relating to the theoretical and problem-solving aspects of C, C++, and C#. I'm currently enrolled in an undergraduate program for Information Technology.
LinkedIn