Sauvegarder unepicture box

cs_DAN1 Messages postés 78 Date d'inscription samedi 12 avril 2003 Statut Membre Dernière intervention 19 juillet 2017 - Modifié par NHenry le 1/02/2017 à 21:42
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 - 3 févr. 2017 à 17:00
Bonjour à tous.
Impossible de sauvegarder le contenu demain picture box.
je récupéré l'"erreur suivante
"Une erreur générique s'est produite dans GDI+."
qu'en pensez vous?
Voici mon code :
   Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
        If Me.PictureBox1.Image IsNot Nothing Then
            Me.PictureBox1.Image.Save("D:\aa.jpg")
        End If
    End Sub


Je vous joins également une copie d'écran cela fait plusieurs jours que je tourne en rond après de multiples recherches sur le Web.
Merci de votre aide.
_

4 réponses

cs_DAN1 Messages postés 78 Date d'inscription samedi 12 avril 2003 Statut Membre Dernière intervention 19 juillet 2017 3
Modifié par BunoCS le 2/02/2017 à 17:54
Bonjour Whismeril
merci de ta réponse.

Voici comment je charge mon image :
Dim chem = "E:\PHOTO200207\DATA\Le 2002 07 10  Maayane 1 An\DSC04550.JPG"


Dim fs As System.IO.FileStream
        ' Specify a valid picture file path on your computer.
        fs = New System.IO.FileStream(chem, IO.FileMode.Open, IO.FileAccess.Read)
        '  PictureBox1.SizeMode = PictureBoxSizeMode.Zoom
        Me.PictureBox2.Image = System.Drawing.Image.FromStream(fs)
        Dim bmp As Bitmap = Image.FromStream(fs)

'Dim Wide, High As Integer ' Size of merged image

fs.Close()
        fs.Dispose()
        fs = Nothing
        If Me.PictureBox2.Image IsNot Nothing Then
            Me.PictureBox2.Image.Save("D:\aa.jpg")
        End If


J'ai bien mon image dans ma picturbox mais impossible après avoir traité cette image de pouvoir l'enregistrer.
As-tu une solution me permettant de faire cette simple sauvegarde avec
Me.PictureBox2.Image.Save

Merci de ta réponse.

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ICI

Merci d'y penser dans tes prochains messages.

--
1
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
1 févr. 2017 à 20:37
Bonsoir

tu as chargé quoi comme image?

Quand je fais

pictureBox1.Load(Directory.GetFiles("C:\Users\Public\Pictures\Sample Pictures")(0))

If pictureBox1.Image IsNot Nothing Then
	pictureBox1.Image.Save("C:\Test\essai.png")
End If



J'ai bien des chrysanthèmes dans C:\Test, que ce soit en jpg ou en png.
0
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
2 févr. 2017 à 17:08
Bonsoir

Henry a modifier ton premier message, pour rendre ton code plus lisible grâce à la coloration syntaxique.
Il t'a même laissé, un petit mot encadré avec un lien pointant vers un bout de tuto pour l'utiliser correctement.

Merci d'en tenir compte à l'avenir.



Pour ta question à proprement parlé, as tu essayé de chargé directement ton image sans passer par le filestream, comme dans mon exemple?

Je n'en suis pas sûr, mais peut être que le fait que le stream ne soit pas fermé pose problème.
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
Modifié par cs_Le Pivert le 2/02/2017 à 18:24
Bonjour,

C'est le contraire, c'est le fait que le stream soit fermé:

Dim chem = "E:\PHOTO200207\DATA\Le 2002 07 10  Maayane 1 An\DSC04550.JPG"

Dim fs As System.IO.FileStream
        ' Specify a valid picture file path on your computer.
        fs = New System.IO.FileStream(chem, IO.FileMode.Open, IO.FileAccess.Read)
        '  PictureBox1.SizeMode = PictureBoxSizeMode.Zoom
        Me.PictureBox2.Image = System.Drawing.Image.FromStream(fs)
        Dim bmp As Bitmap = CType(Image.FromStream(fs), Bitmap)

'Dim Wide, High As Integer ' Size of merged image

        If Me.PictureBox2.Image IsNot Nothing Then
            Me.PictureBox2.Image.Save("D:\aa.jpg")
        End If

fs.Close()
        fs.Dispose()
        fs = Nothing

@+ Le Pivert
0
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
2 févr. 2017 à 18:44
Ha oui, il était fermé, j'ai mal lu en mode texte.

C'est étonnant quand même, puisque l'image est crée. Le fait de fermer le flux ne devrait pas avoir de conséquences....
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137 > Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024
2 févr. 2017 à 18:52
Salut Whismeril,

Pour ma part, je charge l'image comme ceci:

 Me.PictureBox2.Image= Image.FromFile("chemin")


En mettant Option Strict On, on corrige aussi cette ligne:

Dim bmp As Bitmap = CType(Image.FromStream(fs), Bitmap)


Et pour l'enregistrement:

    Me.PictureBox2.Image.Save("D:\aa.jpg", ImageFormat.Jpeg) 'enregistrement des images



voilà
0
cs_DAN1 Messages postés 78 Date d'inscription samedi 12 avril 2003 Statut Membre Dernière intervention 19 juillet 2017 3 > cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024
3 févr. 2017 à 10:33
Merci beaucoup a vous 2 ,seul je n'aurai pas trouvé v
Dan1
0
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656 > cs_DAN1 Messages postés 78 Date d'inscription samedi 12 avril 2003 Statut Membre Dernière intervention 19 juillet 2017
3 févr. 2017 à 17:00
Pense à marquer le sujet résolu.
0
Rejoignez-nous