Saltar al contenido

Error “El parámetro no es válido” al convertir bytes en imagen

Deseamos compartirte la mejor solución que encontramos en todo internet. Deseamos que te resulte de mucha ayuda y si puedes compartir algo que nos pueda ayudar a mejorar hazlo con libertad.

Solución:

prueba esto

public Image byteArrayToImage(byte[] byteArrayIn)

    System.Drawing.ImageConverter converter = new System.Drawing.ImageConverter();
    Image img = (Image)converter.ConvertFrom(byteArrayIn);

    return img;

Después de probar muchas cosas, encontré una manera que tiene un poco más de control. En este ejemplo, puede especificar el formato de píxel y copiar los bytes en un mapa de bits.

byte[] buffer = GetImageBytes();
var bitmap = new Bitmap(width, height, PixelFormat.Format32bppArgb);
var bitmap_data = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height), ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb);
Marshal.Copy(buffer, 0, bitmap_data.Scan0, buffer.Length);
bitmap.UnlockBits(bitmap_data);
var result = bitmap as Image;

Si para ti ha resultado de utilidad este artículo, sería de mucha ayuda si lo compartieras con el resto juniors de este modo contrubuyes a difundir nuestra información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *