Visual basic net problème picturebox et affichage gif animé [Résolu]

Messages postés
263
Date d'inscription
jeudi 11 septembre 2008
Dernière intervention
22 décembre 2012
- - Dernière réponse :  Utilisateur anonyme - 27 mai 2013 à 12:35
Bonjour

Je me tourne vers vous car je comprend rien à ce que je trouve avec les moteurs de recherche.

Donc voici mon problème :

J'ai dans ma form principale 3 picturebox, deux dont les images sont dans les ressources et la dernière dont je charge l'image via ce code :

                    Dim Vimagesreen As Image
                    Dim MyStream As FileStream = New FileStream(cheminscreen, FileMode.Open, FileAccess.Read)
                    Vimagesreen = Image.FromStream(MyStream)
                    Vimagesreen = System.Drawing.Image.FromStream(MyStream)
                    belleimage.Image = Vimagesreen
                    MyStream.Close()
                    MyStream.Dispose()
                    MyStream = Nothing


tout va bien quand c'est une image fixe mais quand l'image est un gif animé l'application plante, les gifs des ressources se transforment en un grand rectangle blanc avec une croix rouge


et c'est une erreur générale du GDI qui plante le truc et je ne sais pas pourquoi.

Je ne cherche pas a animé le GIF mais juste à afficher au moins la première image sans que ca plante le programme.

voici le code complet de l'erreur :

************** Texte de l'exception **************
System.Runtime.InteropServices.ExternalException: Une erreur générique s'est produite dans GDI+.
à System.Drawing.Image.SelectActiveFrame(FrameDimension dimension, Int32 frameIndex)
à System.Drawing.ImageAnimator.ImageInfo.UpdateFrame()
à System.Drawing.ImageAnimator.UpdateFrames()
à System.Windows.Forms.PictureBox.OnPaint(PaintEventArgs pe)
à System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer, Boolean disposeEventArgs)
à System.Windows.Forms.Control.WmPaint(Message& m)
à System.Windows.Forms.Control.WndProc(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
à System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


pourquoi le système ne fonctionne t'il de la même manière que pour les gifs dans les ressources ?


le logiciel est sous VB 2008 express

d'avance merci pour vos éclairages


bidouille007
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Messages postés
263
Date d'inscription
jeudi 11 septembre 2008
Dernière intervention
22 décembre 2012
1
Merci
comme quoi je reste pas à attendre donc pour ceux que cela interesse voici je le pense la solution au problème

                    Dim br As New System.IO.BinaryReader(System.IO.File.OpenRead(cheminscreen))
                    Dim imagerie As Byte() = br.ReadBytes(br.BaseStream.Length)
                    br.Close()
                    br = Nothing
                    belleimage.Image = System.Drawing.Image.FromStream(New System.IO.MemoryStream(imagerie, 0, imagerie.Length))


bidouille007

Merci cs_bidouille007 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de cs_bidouille007
Messages postés
5594
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
9 décembre 2018
1
Merci
Bonjour banana32,

Tu es toujours aussi actif sur ce forum.
Bonne journée.


@+ Le Pivert

Merci cs_Le Pivert 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de cs_Le Pivert
Messages postés
263
Date d'inscription
jeudi 11 septembre 2008
Dernière intervention
22 décembre 2012
0
Merci
je m'auto reponds

Sans pour autant avoir la solution

J'ai testé en neutralisant


                    MyStream.Close()
                    MyStream.Dispose()
                    MyStream = Nothing


et là plus de plantage mais je déplace le problème car je dois absolument débloqué le document sinon ca plante plus loin dans le code.

bidouille007
Commenter la réponse de cs_bidouille007
0
Merci
MERCI !!!!! tu me sauve la vie sa fait bien 4 heur que je cherche !!!! merci,merci,merci !!!
Commenter la réponse de djnaoki
0
Merci
pas vraiment en faite... y a il moyen de charger le GIF depuis un fichier ressource ?? ex: my.resource.mongif.gif ??

merci
Commenter la réponse de djnaoki
Messages postés
5594
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
9 décembre 2018
0
Merci
Comme ceci peut-être!!!!

 PictureBox1.Image = My.Resources.monimageaniméé



@+ Le Pivert
Commenter la réponse de cs_Le Pivert
0
Merci
Salut,

Tu peux faire comme ceci pour charger un gif animé :
picturebox1.image = ctype(my.resources.tongif, image)
Commenter la réponse de Utilisateur anonyme
0
Merci
Salut Le Pivert,

Nos réponses se sont croisées
Commenter la réponse de Utilisateur anonyme
0
Merci
Comme toi
Bonne journée également.
Commenter la réponse de Utilisateur anonyme

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.