none
Error tras convertir byte a imagen RRS feed

  • Pregunta

  • Buenas estimados, 

     les escribo para recibir de su ayuda en algo que aun no  he podido solucionar. 
    Mediante una consulta relleno una DataTable y desde este envió el byte para convertirlo en imagen y mostrarlo en un PictureBox, hasta aquí todo bien solo con el primer Picture, los otros 2 de 3 quedan en plomo :S 

     Esto código utilizo para llamar a la conversión:

     c1.Image = ByteArrayToImage((byte[])ProductosParr.Rows[0][4]);
     c2.Image = ByteArrayToImage((byte[])ProductosParr.Rows[1][4]);
     c3.Image = ByteArrayToImage((byte[])ProductosParr.Rows[2][4]);

     En esa posición de la esta la image, con el que ponga primero no hay problema ([0][4] o [1][4] o [2][4]) con lo cual descarto que la imagen este corrupta en la BD. 

    Este método utilizo para la conversión:

     public Image ByteArrayToImage(byte[] byteAvatar)
            {
                using (MemoryStream ms = new MemoryStream(byteAvatar))
                {
                    Image returnImage = Image.FromStream(ms, true);
                    ms.Dispose();
                    return returnImage;
                }          

            }

    Como pueden darse cuenta solo carga la primera imagen. 
     Ya intente con Dispose al objeto MemoryStream, Asignado cero al SetLenght y al Lenght del mismo objeto pero nada :( 

    Cualquier ayuda es bienvenida y muy agradecida, Saludos


     y este es el resultado 


    Llegaras a ser lo que quieras ser....

    sábado, 13 de julio de 2019 19:46

Todas las respuestas

  • Esa parte está bien como la tienes. No hay problemas con el Dispose; de hecho, ocurre lo contrario: te sobra la línea que hace ms.Dispose porque el bloque "using" ya ejecuta internamente una llamada a Dispose.

    Sospecho que el problema debe estar en algún otro sitio no tan evidente, y no en el ByteArrayToImage. Por ejemplo, ¿has comprobado si las variables c2 y c3 apuntan correctamente a los controles que les corresponden?

    • Propuesto como respuesta eRiver1 lunes, 15 de julio de 2019 8:39
    sábado, 13 de julio de 2019 20:24
    Moderador
  • Debido a que no hemos recibido alguna notificación que aún se esté presentando el problema que enuncia en vuestra consulta y que la respuesta provista provee un amplio panorama y campo de acción sobre tu duda; nos gustaría considerar la misma como resuelta debido a la respuesta apropiada proporcionada  y así proceder a calificar la misma como respuesta.

    No dudes en ampliar más sobre este tema si es que aún lo requirieras o de abrir una nueva consulta en caso de tener alguna situación o necesitarla con algún otro de los productos de Microsoft.

     

    Adicional le invito a consultar los siguientes recursos:

    Guía para formular preguntas en el foro

    Channel 9 - donde puedes encontrar una sección de: Administración de Windows Servers

     

     

    Gracias por usar los foros de TechNet.

    Erick Rivera

     ____

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

     

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

     

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft. 

    viernes, 26 de julio de 2019 14:54