Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Xephiro en 20 Marzo 2011, 05:09 am



Título: [Solucionado] Problema con guardado de un Picturebox (C#)
Publicado por: Xephiro en 20 Marzo 2011, 05:09 am
hola, estoy trabajando en un programa para mi PC. Entre una de las cosas que haces en en un momento dado saca una foto con la Web Cam y queda en un picturebox que esta oculto, mi problema esta al momento en que trato de guardar ese picturebox como una imagen en mi PC.

De manera general aqui dejo el codigo con mi problema.
Código:
private bool saveImage(String path, ImageFormat iformat)
        {
            try
            {
                capturaOculta.Image.Save(path, iformat);
            }
            catch (Exception ex)
            {
                MessageBox.Show(this, ex.ToString());
                return false;
            }

            return true;
        }

con ese codigo al momento de tratar de guardar la imagen me da el error de que estoy tratando de hacer una referencia a un objeto no existente.


Pero si agrego la siguiente linea al codigo no me da errores.

Código:
private bool saveImage(String path, ImageFormat iformat)
        {
            try
            {
                MessageBox.Show("...?"); //------> NUEVA LINEA
                capturaOculta.Image.Save(path, iformat);
            }
            catch (Exception ex)
            {
                MessageBox.Show(this, ex.ToString());
                return false;
            }

            return true;
        }

El problema es que no quiero que se muestre un mensaje antes, durantes o despues del sacado y guardado de la foto, solo si es un error.

Alguien sabe que puede estar pasando??

Es raro que agregando un MessageBox nada mas el error ya no aparezca y me resulte todo bien. :S:S



Título: Re: Problema con guardado de un Picturebox (C#)
Publicado por: Edu en 20 Marzo 2011, 05:42 am
Mmm faltaria el codigo donde llamas a la funcion saveImage, deja mas cosas


Título: Re: Problema con guardado de un Picturebox (C#)
Publicado por: Xephiro en 20 Marzo 2011, 05:48 am
Mmm faltaria el codigo donde llamas a la funcion saveImage, deja mas cosas

No creo que sea de mucha ayuda, pero lo dejo de todas maneras

Código:
private void loginBtn_Click(object sender, EventArgs e)
        {
            if (tb_usuario.Text == "usuario" && tb_password.Text == "password")
            {
                //.............
            }
            else
            {
                takeSnapshot();
                saveImage(directorio, ImageFormat.Jpeg);
            }
        }


Título: Re: Problema con guardado de un Picturebox (C#)
Publicado por: Edu en 20 Marzo 2011, 05:56 am
Jajaja q buena idea me diste! muy bien pensado eso q haces xD

Bueno yo pensaba q talvez estabas haciendo muchas llamadas a la funcion, de una forma recursiva y eso da error a veces, por eso lo del messagebox, es porq al salir el messagebox espera un tiempo y da tiempo para respirar xD
Eso lo digo porq me ha pasado tamb pero talvez no es por lo q te he dicho.

Y el codigo de takeSnapshot() cual es?


Título: Re: Problema con guardado de un Picturebox (C#)
Publicado por: Xephiro en 20 Marzo 2011, 06:04 am
Jajaja q buena idea me diste! muy bien pensado eso q haces xD

Bueno yo pensaba q talvez estabas haciendo muchas llamadas a la funcion, de una forma recursiva y eso da error a veces, por eso lo del messagebox, es porq al salir el messagebox espera un tiempo y da tiempo para respirar xD
Eso lo digo porq me ha pasado tamb pero talvez no es por lo q te he dicho.

Y el codigo de takeSnapshot() cual es?

¬¬ mmm, takeSnapshot() no creo que sea el problema asi que no lo pondre.


Título: Re: [Solucionado] Problema con guardado de un Picturebox (C#)
Publicado por: Xephiro en 20 Marzo 2011, 17:56 pm
Bueno, ya arregle el problema..

Estaba eliminando el contenido de mi picturebox antes de que terminara de guardarse la imagen.


Título: Re: [Solucionado] Problema con guardado de un Picturebox (C#)
Publicado por: Edu en 20 Marzo 2011, 18:12 pm
Entonces el error estaba en TakeSnapshot() ? por eso te decia q pongas mas codigo


Título: Re: [Solucionado] Problema con guardado de un Picturebox (C#)
Publicado por: Xephiro en 20 Marzo 2011, 18:57 pm
Entonces el error estaba en TakeSnapshot() ? por eso te decia q pongas mas codigo

El error estaba en la parte de guardado, tarda un poco en guardar la imagen y en ese tanto otro método anulaba su imagen.

la solucion estaba modificando un poco en el codigo que puse al principio y el método saveImage para que me avisara cuando el guardado se completara


Título: Re: [Solucionado] Problema con guardado de un Picturebox (C#)
Publicado por: Edu en 20 Marzo 2011, 19:54 pm
Bueno yo pensaba q talvez estabas haciendo muchas llamadas a la funcion, de una forma recursiva y eso da error a veces, por eso lo del messagebox, es porq al salir el messagebox espera un tiempo y da tiempo para respirar xD

Ok, nos vemos