Insertion d'images

cs_benji78 Messages postés 41 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 25 novembre 2008 - 22 nov. 2008 à 13:58
cs_benji78 Messages postés 41 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 25 novembre 2008 - 25 nov. 2008 à 19:46
Bonjour à tous, je réalise une application bibliothèque d'image.

Dans cette application il y a aura plus de 1800 images, suivant le filtre de recherche sélectionné par l'utilisateur, des images s'ajouterons dans un ComboBox, où l'utilisateur pourra ensuite sélectionner l'image à visualiser dans une PictureBox.

Afin d'éviter de rentrer pour chaque image se trouvant classés dans des dossier spécifique, j'aimerais créer un code qui se chargerais de mettre dans le ComboBox les fichiers.
Malheureusement quoi que je fasse je tombe sur une erreure indiquant qu'il est impossible de convertir une donnée de type String en System.Image.Drawing, se qui est logique...

Voici le code que j'utilisais jusqu'à présent :

Dim dirInfo
As
New System.IO.DirectoryInfo(
"C:\Documents and Settings\Benjamin\Bureau\Chipsets Triés")

Dim file
As Image

Dim files()
As
System.IO.FileInfo = dirInfo.GetFiles(
"*.png")

If (files
IsNot
Nothing)
Then
For
Each file
In files
ComboBoxChipsets.Items.Add(file)

Next
End
IfMerci d'avance pour votre aide.

7 réponses

cs_benji78 Messages postés 41 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 25 novembre 2008
23 nov. 2008 à 13:19
Bonjour à tous, il me semble avoir trouvé la solution à mon problème, je ne sais si c'est la meilleure, mais elle semble me convenir, donc je vous la soumet :).

PictureBoxChipset.Image = Image.FromFile(ComboBoxChipsets.SelectedItem)  'Pour l'affichage de l'image sélectionnée.

'Insertion des images dans le ComboBox :
Dim
dirInfo
As
New System.IO.DirectoryInfo(
"Répertoire")

Dim file
As
Object
Dim files()
As
Object = dirInfo.GetFiles(
"*.extension de l'image")

If (files
IsNot
Nothing)
Then
For
Each file
In files
ComboBoxChipsets.Items.Add(file.Fullname.ToString)

Next
End
If

Si vous voyez des amélioration possibles, merci de le signaler :).
a++
0
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
24 nov. 2008 à 01:22
Salut,

Dim files() As String = IO.Directory.GetFiles("Répertoire", "*.png")
ComboBoxChipsets.Items.AddRange(files)

Pour l'affichage de l'image, ça ne change pas...
0
cs_benji78 Messages postés 41 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 25 novembre 2008
24 nov. 2008 à 18:43
Merci bien pour cette optimisation.

Sinon j'aurais une autre petite question, qui ne correspond certes plus au titre, enfin bon...

Savez-vous comment associer à l'installeur un dossier contenant des fichiers ?
Merci pour l'aide.
0
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
24 nov. 2008 à 19:45
Comment associer?
C'est plutôt dans ton soft que tu dois associer un dossier...
Pour faire quoi?
0

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

Posez votre question
cs_benji78 Messages postés 41 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 25 novembre 2008
24 nov. 2008 à 20:42
En faite comm ej l'ai dit dans l'introduction à mon problème je souhaite créer une bibliothèque d'image.
Et pour importer ces images dans le ComboBox, je les ai au préalable mises dans un dossier stocké dans un endroit sur mon disque dur.
Se que j'aimerais faire c'est d'associer le dossier contenant toutes mes images à l'installeur plutôt que de les insérer de façon non triés dans les ressources de mon projet.

Enfin j'ai pensé que c'était une solution plutôt pas mal, mais il y a peut-être encore mieux :).
a++
0
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
24 nov. 2008 à 22:55
Tes images tu les laisse dans ton dossier sur ton disque dur et tu y accède depuis ton soft, je vois pas trop ce que tu voudrais faire dans l'installeur...
Si ce que tu souhaite est une invite à l'utilisateur qui lui permet de choisir le dossier dans lequel sont stocké les photos, n'essaie pas de faire ça dans l'installeur mais au 1er lancement de ton soft, comme le font par exemple les lecteurs multimédia lorsque ils proposent d'importer les mp3 et autre fichiers audios dans la bibliothèque.

Tu veux pas ajouter des GB d'images dans les ressources de ton projet quand même? A la limite ta bibliothèque d'image (des liens vers les fichiers), mais je ne conseil pas d'en créer une si elle n'est pas absolument nécaissaire. L'accès direct au fichiers images et à leurs tag pour avoir plus d'info suffit dans la plupart des cas. Mais en aucun cas il faut importer toutes les images dans les ressources du projet, ce n'est pas destiné à ça.

Sinon, je te conseil de faire ça dans un fichier extérieur (XML ou binaire) que tu peux stocker dans Application Data, ce qui permet de gérer les différents utilisateurs Windows séparément.

Mais je n'ai pas compris pourquoi tu parle d'insertion trié ou non trié. Des fichiers sont trié par dossiers, après si tu veux les trier par nom, date ou taille, cela ne se fait qu'à l'affichage...
0
cs_benji78 Messages postés 41 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 25 novembre 2008
25 nov. 2008 à 19:46
Merci des informations, je pense avoir trouvé ma solution ;).

Pour se que tu n'as pas compris :
En faite dans ma bibilothèque de chipset j'importe les images depuis un dossier spécifique ou sont dedans toutes les images d'un certain type.

Alors que si je mettais les images dans les ressources celle-ci n'aurait pas été triée, et j'aurais peut-être due les importer une à une.
0
Rejoignez-nous