6
votes

Comment ajoutez-vous un fichier image à une liste d'images dans le code?

J'ai une liste d'images et souhaitez ajouter un répertoire d'images à la liste des images de mon code. Comment ferais-je cela? Lorsque j'exécute le code:

'Load all of the items from the imagelist
For Each path As String In Directory.GetFiles("Images\LanguageIcons\")
     imlLanguagesIcons.Images.Add(Image.FromFile(path))
Next


0 commentaires

5 Réponses :


2
votes

Comme si ceci xxx

aimage est une image variable

EDIT : comme ceci: xxx


9 commentaires

Mais le fichier a peut-être une quantité variable de fichiers image. Comment puis-je ajouter tous les éléments. Je sais comment fait ce qui est ci-dessus


Vous recherchez peut-être la méthode addstrip .


System.IO.Directory.getCurrentTrectory () & "Images \ LanguageIntons"


Voulez-vous dire que vous essayez d'ajouter chaque fichier image dans un dossier? Si tel est le cas, boucle sur un appel à répertoire.getfiles


Vous n'avez pas besoin d'ajouter Directory.getCurrentDirectory () .


Je ne suis pas sûr de l'endroit où le fichier est autre que le fait qu'il soit dans le répertoire actuel. Si ce n'est pas ça va jeter et error


Il a jeté une exception exceptionnelle


Vous avez dit qu'il y a 14 images. Quelles sont leurs tailles et leurs profondeurs de couleur? Si je ne me trompe pas, les images chargées dans un imageur sont décompressées. Donc, un fichier 640x480 24BPP consommera 921600 octets. Si vos images sont grandes, elles pourraient consommer une grande quantité de mémoire.


La taille la plus grande est 124x124. Toutes ces images étaient déjà dans la liste des images, mais je les ai supprimées car je souhaite le faire en code car je souhaite que l'utilisateur puisse ajouter de ses propres images dans le fichier.



1
votes

Documentation pour image.fromfile (qui est lié à votre itrestream) dit que cela lancera une exception exceptionnelle si le fichier n'est pas un Format d'image valide ou si GDI + ne prend pas en charge le format de pixel. Est-ce possible, vous essayez de charger un type d'image non pris en charge?

Source: Jim Mischel Out of Memory Exception lors du chargement d'images

Voici ma méthode: xxx


0 commentaires

3
votes

image.Dispose () corrige l'exception hors mémoire. L'approche détaillée que j'ai utilisée est (bien que surtomille pour certains): xxx


0 commentaires

0
votes

Vous obtenez une erreur de mémoire hors mémoire car elle essaie de charger THUMBS.DB à la fin de votre "pour chacun". Cela s'occupait de moi pour moi

pour chaque chemin comme chaîne dans le répertoire.getfiles ("\ imagesterver \") Si Instr (chemin, "pouces") = 0, alors Imagelist1.images.add (image.fromfile (chemin)) Suivant

Il y a probablement une manière plus élégante ....


0 commentaires

0
votes

Désolé je suis en retard, veuillez essayer ce monsieur ..

Dim path_photo_member As String = "D:\image_data\member\"
Me.ImageList_rs.Images.Clear()
If System.IO.Directory.Exists(path_photo_member) Then
        For Each path As String In System.IO.Directory.GetFiles(path_photo_member)
             If System.IO.File.Exists(path) Then
                 If LCase(path).Contains(".png") Or LCase(path).Contains(".jpg") Or LCase(path).Contains(".jpeg") Then
                      Me.ImageList_rs.Images.Add(Image.FromFile(path))
                    End If
             End If
          Next
 End If


0 commentaires