SAUVER UNE IMAGE

Signaler
Messages postés
96
Date d'inscription
mercredi 26 mai 2010
Statut
Membre
Dernière intervention
27 mai 2010
-
cs_Nurgle
Messages postés
1648
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
-
Salut
je cherche a enregistrer une image, losrque je passe par une boite de dialogue cela fonctionne en revanche quand j'indique le chemin grace a une variable cela ne fonctionne plus voici le code.
Par la boite de dialog
SaveFileDialog sd =
new SaveFileDialog();
sd.FileName = @"DsNET.bmp";
sd.Title = "Save Image as...";
sd.Filter = "Bitmap file (*.bmp)|*.bmp";
sd.FilterIndex = 1;

if( sd.ShowDialog() != DialogResult.OK )

return;
pictureBox.Image.Save( sd.FileName, ImageFormat.Bmp );
LA TOUT VA BIEN

Par la variable
strPathPatient="C:\\NEWDENT\\Data\\1";
pictureBox.Image.Save( strPathPatient , ImageFormat.Bmp );

DANS CE CAS UNE ERREUR CE PRODUIT
Une exception non gérée du type 'System.NullReferenceException' s'est produite dans SampleGrabberNET.exe




Informations supplémentaires : La référence d'objet n'est pas définie à une instance d'un objet.

5 réponses

Messages postés
546
Date d'inscription
mardi 26 novembre 2002
Statut
Membre
Dernière intervention
4 mai 2007
1
Vérifie que l'image de ta pictureBox n'est pas null avant de faire la save : l'erreur vient bien de cette ligne la ?

Sinon affiche dans une messagebox sd.filename et à la place de pictureBox.Image.Save( sd.FileName, ImageFormat.Bmp );
tu mets (pictureBox.Image.Save( "chemin indiqué par la messagebox", ImageFormat.Bmp );

Voilà c'est juste pour débuguer un petit peu car avec le code que tu mets là je ne vois rien de faux
Messages postés
475
Date d'inscription
jeudi 19 juin 2003
Statut
Membre
Dernière intervention
3 novembre 2008

Salut, j'ai pas d'IDE sous la main mais je suis d'accord avec MoDDiB, vérifie que l'image de ton picturebox est différente de null.
Aussi, ton strPathPatient n'a pas d'extension (.bmp), l'erreur peut venir de là peut-être.

[:D] @++
Messages postés
1648
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
Salut,

ça ne peut pas être l'image qui est null sinon il renverrait une ArgumentNullException et pas une NullReferenceException...

Et hop, un petit coup de Reflector, et là je vois qu'il ouvre un FileStream sur le "filename" passé en paramètre, il faut donc logiquement passer un nom de fichier et non pas de dossier (et donc qu'il faut une extension comme le suggère badrbadr).
De plus la MSDN Library dit que "filename" c'est "A string that contains the name of the file", donc...

(Ayez les réflexes MSDN & Reflector )
A++

<hr width="100%" size="2" />Nurgle(Antoine)
Messages postés
546
Date d'inscription
mardi 26 novembre 2002
Statut
Membre
Dernière intervention
4 mai 2007
1
C'est bon à savoir :)
Mais le reflexe messageBox/debugguer VS aurait permis de se rendre compte de ça en 10s contrairement aux quelques minutes du reflexe MSDN / Reflector :)
Messages postés
1648
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
Exact, mais moi j'ai bien faire compliqué...
(qui n'a jamais rêvé d'avoir la MSDN Library pour livre de chevet :p ?!)

<hr width="100%" size="2" />Nurgle(Antoine)