Dans une boucle importer mes images dans un picture box

Résolu
clementekh
Messages postés
15
Date d'inscription
lundi 11 février 2019
Statut
Membre
Dernière intervention
7 mars 2019
- 27 févr. 2019 à 15:27
Whismeril
Messages postés
17331
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
17 mai 2022
- 28 févr. 2019 à 18:07
Bonjour,

Je souhaiterais pouvoir extraire les images de mon dossier source sélectionné vers un nouveau dossier cependant je n'arrive pas a associer chaque image à la pictureBox2.BackgroundImage .
Cela ne compile pas il me met impossible de convertir implicitement le type 'Systeme.Io.fileInfo' en 'system.drawing.image'

Merci d'avance pour votre aide.
Clément

        private void button4_Click(object sender, EventArgs e)
        {
            DirectoryInfo dir = new DirectoryInfo(@"c:\\outils\\QrCodeGenerator\\Test");

            FileInfo[] fichiers = dir.GetFiles();

               
                foreach (FileInfo fichier in fichiers)
                {
                    string fileWExt = Path.GetFileNameWithoutExtension(fichier.FullName);
          

                    //Créer le QrCode avec l'image du gabarit en fond

                    panel1.BackgroundImage = Image.FromFile("c:\\outils\\QrCodeGenerator\\GabaritBadge\\badgerondvierge.jpg");
                    Zen.Barcode.CodeQrBarcodeDraw qrcode = Zen.Barcode.BarcodeDrawFactory.CodeQr;
                    pictureBox4.BackgroundImage = qrcode.Draw(fileWExt, 60);

                    //Récupérer l'image

                    pictureBox2.BackgroundImage = fichier;


                    string filename = string.Format(@"c:\\outils\\QrCodeGenerator\\BadgesOK\\{0}.txt", fileWExt);

                        File.Create(filename);
                }
        }

4 réponses

Whismeril
Messages postés
17331
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
17 mai 2022
596
27 févr. 2019 à 16:10
Bonjour

FileInfo c’est les métadonnnées d’un fichier, son chemin, la taille en octet, les attributs etc... Ça n’est en aucun cas son contenu, et dans ce cas pas une image

Pour le panel, à peune quelques lignes plus haut, tu as utlisé
Image.FromFile
là on lui donne un chemin et ca retourne une image
1
clementekh
Messages postés
15
Date d'inscription
lundi 11 février 2019
Statut
Membre
Dernière intervention
7 mars 2019

27 févr. 2019 à 16:47
merci de ta réactivité

Je vois mais quelle est la méthode pour récupérer le contenu "image" de chacune des images du dossier s'il te plait ?
0
Whismeril
Messages postés
17331
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
17 mai 2022
596
27 févr. 2019 à 18:30
Au risque de me répéter
FileInfo c’est les métadonnnées d’un fichier, son chemin,

et

là on lui donne un chemin et ca retourne une image


1
clementekh
Messages postés
15
Date d'inscription
lundi 11 février 2019
Statut
Membre
Dernière intervention
7 mars 2019

28 févr. 2019 à 10:39
Oui je conçoit bien.
Mais j'ai du mal a me faire comprendre je souhaiterais utilisé la bonne méthode pour récupérer le contenu.

J'ai fait un schéma pour je l’espère que ce soit plus explicite.
Merci d'avance.
0
Whismeril
Messages postés
17331
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
17 mai 2022
596
28 févr. 2019 à 12:08
Bonjour
clementekh tout ce dont tu as besoin est déjà présent dans les quelques lignes de codes que tu as posté.

Hier j’ai bêtement pensé que tu avais écrit ces lignes.
Maintenant il me semble que ça n’est pas le cas.
Se servir du code d’un autre, on le fait tous.
Mais si on vient à poser une question dessus sur un forum, le préciser est une info utile pour ceux qui pourraient essayer de répondre.
De plus avant même de poser une question, un petit tour sur l’aide en ligne des objets que l’on ne connait pas pas s’avérer une aide précieuse.

Donc à cette ligne
string fileWExt = Path.GetFileNameWithoutExtension(fichier.FullName);
          

On voit que fichier qui est de type FileInfo dispose d’une propriété FullName.

L’aide en ligne https://docs.microsoft.com/fr-fr/dotnet/api/system.io.fileinfo?view=netframework-4.7.2 https://docs.microsoft.com/fr-fr/dotnet/api/system.io.filesysteminfo.fullname?view=netframework-4.7.2#System_IO_FileSystemInfo_FullName nous dit
Obtient le chemin d'accès complet du répertoire ou fichier.


Et la ligne
anel1.BackgroundImage = Image.FromFile("c:\\outils\\QrCodeGenerator\\GabaritBadge\\badgerondvierge.jpg");
Montre comment charger une image à partir du chemin du fichier.
1
clementekh
Messages postés
15
Date d'inscription
lundi 11 février 2019
Statut
Membre
Dernière intervention
7 mars 2019

28 févr. 2019 à 13:44
Je te remercie j'ai en effet trouvé la réponse mais j'ai quand même passé une journée a chercher avant de venir demander de l'aide sur le forum.

Je note pour la prochaine fois.
Merci
Bonne journée
0
Whismeril
Messages postés
17331
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
17 mai 2022
596
28 févr. 2019 à 18:07
De rien
0
clementekh
Messages postés
15
Date d'inscription
lundi 11 février 2019
Statut
Membre
Dernière intervention
7 mars 2019

28 févr. 2019 à 14:07
                        pictureBox2.BackgroundImage = Image.FromFile(fichier.FullName);


Voici la correction si ça peut aider quelqu'un
0