Dans une boucle importer mes images dans un picture box [Résolu]

Signaler
Messages postés
15
Date d'inscription
lundi 11 février 2019
Statut
Membre
Dernière intervention
7 mars 2019
-
Messages postés
14492
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
15 juillet 2020
-
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

Messages postés
14492
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
15 juillet 2020
420
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
Messages postés
15
Date d'inscription
lundi 11 février 2019
Statut
Membre
Dernière intervention
7 mars 2019

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 ?
Messages postés
14492
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
15 juillet 2020
420
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


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

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.
Messages postés
14492
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
15 juillet 2020
420
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.
Messages postés
15
Date d'inscription
lundi 11 février 2019
Statut
Membre
Dernière intervention
7 mars 2019

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
Messages postés
14492
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
15 juillet 2020
420
De rien
Messages postés
15
Date d'inscription
lundi 11 février 2019
Statut
Membre
Dernière intervention
7 mars 2019

                        pictureBox2.BackgroundImage = Image.FromFile(fichier.FullName);


Voici la correction si ça peut aider quelqu'un