Sauvegarder unepicture box

cs_DAN1 78 Messages postés samedi 12 avril 2003Date d'inscription 19 juillet 2017 Dernière intervention - 1 févr. 2017 à 20:17 - Dernière réponse : Whismeril 10592 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 17 décembre 2017 Dernière intervention
- 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.
_
Afficher la suite 

8 réponses

Répondre au sujet
cs_DAN1 78 Messages postés samedi 12 avril 2003Date d'inscription 19 juillet 2017 Dernière intervention - Modifié par BunoCS le 2/02/2017 à 17:54
+1
Utile
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.

--
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_DAN1
Whismeril 10592 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 17 décembre 2017 Dernière intervention - 1 févr. 2017 à 20:37
0
Utile
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.
Commenter la réponse de Whismeril
Whismeril 10592 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 17 décembre 2017 Dernière intervention - 2 févr. 2017 à 17:08
0
Utile
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.
Commenter la réponse de Whismeril
cs_Le Pivert 4781 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 16 décembre 2017 Dernière intervention - Modifié par cs_Le Pivert le 2/02/2017 à 18:24
0
Utile
4
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
Whismeril 10592 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 17 décembre 2017 Dernière intervention - 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....
cs_Le Pivert 4781 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 16 décembre 2017 Dernière intervention > Whismeril 10592 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 17 décembre 2017 Dernière intervention - 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à
cs_DAN1 78 Messages postés samedi 12 avril 2003Date d'inscription 19 juillet 2017 Dernière intervention > cs_Le Pivert 4781 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 16 décembre 2017 Dernière intervention - 3 févr. 2017 à 10:33
Merci beaucoup a vous 2 ,seul je n'aurai pas trouvé v
Dan1
Whismeril 10592 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 17 décembre 2017 Dernière intervention > cs_DAN1 78 Messages postés samedi 12 avril 2003Date d'inscription 19 juillet 2017 Dernière intervention - 3 févr. 2017 à 17:00
Pense à marquer le sujet résolu.
Commenter la réponse de cs_Le Pivert

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.