Changement d'une image dans une pictureBox qui ne fonctionne pas [Résolu]

Messages postés
201
Date d'inscription
mercredi 8 février 2006
Statut
Membre
Dernière intervention
20 février 2007
- - Dernière réponse : cs_fcolo
Messages postés
201
Date d'inscription
mercredi 8 février 2006
Statut
Membre
Dernière intervention
20 février 2007
- 14 juin 2006 à 11:50
Bonjour,

je réalise un logiciel de capture d'un flux MJPG d'une caméra IP.

Ce logiciel peut gérer plusieurs caméra. J'ai donc un affichage de 1x1 ou 2x2 ou 3x3 caméra.
Une caméra peut être affichée plusieur fois.
J'ai crée un userControl (panelCamContainerUserControl) dans lequel il y a une pictureBox pour afficher l'image de la caméra.
J'ai plusieurs dictionnaires pour savoir sur quel panel sont placé les caméras.

//les dictionnaires contenant la listes des caméra et des panels
        Dictionary<String, axisStreamMJPG> camList;
        Dictionary panelList;
       
//Les dictionnaires contenant la configuration des panels et des caméra
        Dictionary configPanels; //<numuro du Panel, nom de la caméra associée>
        Dictionary<String, ArrayList> configCameras;//<nom de la caméra, list des panels associés>

J'ai un evenement levé lors de la réception d'une nouvelle image. Je m'abonne a cet évènement et je réceptionne le nom de la caméra émetrice ainsi que l'image réceptionnée.

        void cam_newImg(string camName, Image img)
        {
            try
            {
               ArrayList numPanelList = configCameras[camName];
               foreach (int numPanel in numPanelList)
               {
                   panelList[numPanel].changePictureBoxImage(img);
               }
            }
            catch(Exception es)
            {
                MessageBox.Show(es.Message);
            }
        }

La fonction changePictureBoxImage ne fait que modifier l'image du pictureBox.
J'ai controlé, l'image et le nom de la caméra arrive bien à la fonction.
Apres le foreach, j'ai bien les numéros des bon panels.
La fonction changePictureBoxImage est bien appelée mais rien n'est modifier.

        public void changePictureBoxImage(Image img)
        {
            this.pictureBox1.Image = img;
            //MessageBox.Show("toto");
        }

Quelqu'un verrait une grosse erreur dans ce que j'ai fait ou une explication?

f.colo
Afficher la suite 

1 réponse

Meilleure réponse
Messages postés
201
Date d'inscription
mercredi 8 février 2006
Statut
Membre
Dernière intervention
20 février 2007
1
3
Merci
C'est bon, j'ai enfin trouvé mon erreur.
Le code présenté est bon mais, l'erreur vient du fait que, après modification de la form, je supprimé tout me controls et les recréer dans la nouvelle disposition. Donc les controle sauvegardé dans les dictionnaire ne pointés pas sur les bons, donc ca n'affiché rien.

f.colo

Dire « Merci » 3

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

Codes Sources 126 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_fcolo