Visual basic net problème picturebox et affichage gif animé

Résolu
cs_bidouille007 Messages postés 257 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 22 décembre 2012 - 14 juil. 2010 à 03:52
 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
A voir également:

9 réponses

cs_bidouille007 Messages postés 257 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 22 décembre 2012 1
14 juil. 2010 à 20:01
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
1
cs_Le Pivert Messages postés 7857 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 28 novembre 2022 134
27 mai 2013 à 11:58
Bonjour banana32,

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


@+ Le Pivert
1
cs_bidouille007 Messages postés 257 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 22 décembre 2012 1
14 juil. 2010 à 04:22
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
0
MERCI !!!!! tu me sauve la vie sa fait bien 4 heur que je cherche !!!! merci,merci,merci !!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pas vraiment en faite... y a il moyen de charger le GIF depuis un fichier ressource ?? ex: my.resource.mongif.gif ??

merci
0
cs_Le Pivert Messages postés 7857 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 28 novembre 2022 134
27 mai 2013 à 11:52
Comme ceci peut-être!!!!

 PictureBox1.Image = My.Resources.monimageaniméé



@+ Le Pivert
0
Utilisateur anonyme
27 mai 2013 à 11:53
Salut,

Tu peux faire comme ceci pour charger un gif animé :
picturebox1.image = ctype(my.resources.tongif, image)
0
Utilisateur anonyme
27 mai 2013 à 11:53
Salut Le Pivert,

Nos réponses se sont croisées
0
Utilisateur anonyme
27 mai 2013 à 12:35
Comme toi
Bonne journée également.
0