IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Faire défiler les images d'un répertoire [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2004
    Messages
    308
    Détails du profil
    Informations personnelles :
    Âge : 71

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2004
    Messages : 308
    Par défaut Faire défiler les images d'un répertoire
    Bonjour
    Je désire faire défiler les images contenues dans un répertoire à l'aide d'un bouton.avec le code suivant quand je clique sur le bouton je ne vois que la dernière image et jamais les autres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim MyDirectoyInfo As New DirectoryInfo("C:\ImagesFilm\151")
            Dim MesFichiers() As FileInfo
            MesFichiers = MyDirectoyInfo.GetFiles("*.*")
     
            Dim Fichier As FileInfo
            For Each Fichier In MesFichiers
                PictureBox.Image = Image.FromFile("C:\ImagesFilm\151\" & Fichier.Name)
            Next Fichier
        End Sub
    Pouvez-vous m'aider
    Merci

  2. #2
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Bonsoir Jean-Luc80,

    Lorsque tu parcours une collection cela se calcul en ns, donc c'est tout à fait logique que tu ne puisses les voir défiler et que ce soit la dernière image chargée qui est visible

    Si tu veux apercevoir tes images il te faudra :

    - créer un temporisateur entre chaque cliché
    - créer un effet de transition entre chaque cliché

    Donc ce qui revient à créer un temporisateur entre 2 images qui se superposent.

    Cela te donnera l'effet recherché.


    EDIT :

    En tapant "SlideShow C#" dans Google j'ai trouvé ceci :

    http://www.thecodingguys.net/blog/ar...d-visual-basic


    Voilà qui devrait t'aider.


    A+

  3. #3
    Membre éclairé
    Inscrit en
    Mai 2004
    Messages
    308
    Détails du profil
    Informations personnelles :
    Âge : 71

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2004
    Messages : 308
    Par défaut
    Bonsoir
    J'ai vu ton lien mais cela fait un diaporama il me semble

    Moi ce que je voudrais c'est à l'ouverture du form, afficher la première image et en cliquant sur le bouton,les afficher les unes après les autres

  4. #4
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par Jean-Luc80 Voir le message
    Bonsoir
    J'ai vu ton lien mais cela fait un diaporama il me semble

    Moi ce que je voudrais c'est à l'ouverture du form, afficher la première image et en cliquant sur le bouton,les afficher les unes après les autres
    Ce n'est pourtant pas compliqué et l'exemple illustre très bien la notion de stockage des images dans un tableau de "String".

    Voilà ce que je te propose :

    - Tu ouvres ton programme
    - Tu créés une collection d'images (un ArrayList par exemple) depuis le répertoire qui contient les images :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim ImageList as new Arraylist
     
    For each ImgPath in Directory.GetFiles("C:\ImagesFilm\151", "*.*", SearchOption.AllDirectories)
        ImageList.add(ImgPath)
    Next

    - Tu charges le 1er élément de ta collection :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PictureBox.Image = Image.FromFile(ImageList(0).ToString)
    - Pour avancer dans la collection tu incrémentes l'index :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Dim i as integer = 1
    If not i > mImageList.Count - 1
        PictureBox.Image = Image.FromFile(ImageList(i).ToString)
    End If
    PS : n'oublies pas de tester le MimeType de tes fichiers images, sinon une erreur pourrait être générée si un utilisateur utilise un fichier ".exe" renommé en .jpg ou autre extension de type image !

    A+

  5. #5
    Membre éclairé
    Inscrit en
    Mai 2004
    Messages
    308
    Détails du profil
    Informations personnelles :
    Âge : 71

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2004
    Messages : 308
    Par défaut
    Bonjour
    Je suppose que ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim i As Integer = 1
            If Not i > mImage.Count - 1 Then
                PictureBox.Image = Image.FromFile(ImageList(i).ToString)
            End If
    doit mis derrière le clic du bouton
    Mais si je fais ça j'ai deux erreurs de syntaxes au niveau de mImage.count et de ImageList(1)

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Par défaut
    Bonjour,

    Il ne faut pas placer la définition de i dans le code du bouton, sinon à chaque clic il vaut 1.
    Il faut essayer de voir de façon plus générale le fonctionnement, pas juste faire un copier coller.
    Voici un exemple en appliquant ce qu'a dit wallace1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Imports System.IO
    Public Class frmPictureBox
        Dim Chemin As String = "D:\data\images" ' place ton chemin ici
        Dim ListeNomsImages As List(Of String) 
        Dim IndexImage As Integer = 0
     
        Private Sub frmPictureBox_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            ListeNomsImages = Directory.GetFiles(Chemin, "*.*", SearchOption.AllDirectories).ToList
            pbVisuFichier.Image = Image.FromFile(ListeNomsImages(IndexImage))
            IndexImage += 1
        End Sub
     
        Private Sub btnSuivant_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnImageSuivant.Click
            If IndexImage >= ListeNomsImages.Count Then IndexImage = 0
            pbVisuFichier.Image = Image.FromFile(ListeNomsImages(IndexImage))
            IndexImage += 1
        End Sub
     
    End Class
    Désolé si mon explication est un peu courte, j'ai peu de temps.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Faire défiler des images toutes les secondes
    Par babylone_59 dans le forum Windows Forms
    Réponses: 17
    Dernier message: 16/11/2014, 04h42
  2. [Débutant] N'afficher qu'une seule image au lieu de plusieurs et faire défiler les autres avec la roulette.
    Par Hardgroove dans le forum Interfaces Graphiques
    Réponses: 10
    Dernier message: 18/10/2013, 11h37
  3. Comment faire défiler les images ?
    Par momoG dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/06/2013, 09h06
  4. comprends pas le code JS pour faire défiler les images
    Par happyboon dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/03/2013, 11h07
  5. Faire défiler les images en Javascript?
    Par pracede2005 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/11/2007, 16h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo