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 :

Comment afficher plusieur images depuis un fichier local en même temps.


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 11
    Points : 2
    Points
    2
    Par défaut Comment afficher plusieur images depuis un fichier local en même temps.
    Bonjour, bonsoir ...

    Alors voilà si je me suis inscrit ici, c'est car je ne trouve pas la solution à mon problème sur internet .. Donc je vous demande à vous

    Enfaite, j'aimerai afficher plusieurs images en même temps depuis mon fichier "images" étant dans le dossier de mon logiciel.
    Mais enfaite, j'aimerai que l'affichage se fasse par rapport au donnée de ma BDD
    En gros : On sélectionne "x" dans la table "y" puis on va chercher l'images dans le dossier images qui se nomme "x" puis on l'affiche avec deux autres données(id et name) mais cela en boucle pour tous afficher.
    Pour la connexion à la BDD et la sélection de "x" dans la table "y" cela est fait, mais je bloque complétement à la sélection de l'images et l'affichage ...

    Bref si vous pourriez m'aider, ça serai génial

  2. #2
    Membre expérimenté Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Points : 1 455
    Points
    1 455
    Par défaut
    Bonjour,

    • Quel est ton but exact?
      • afficher des images dans un graphique de données? *avec un petit plus en design?*
      • ou simplement faire une carte? où tu récupère les coordonnées et affiches les images qui vont bien.
    • Comment sont stockées les images?
      • dans ta BDD?
      • ou ce sont des fichiers classiques? (.bmp, .png, .jpg, ...)

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Et bien enfaite les images sont en .PNG
    Et je souhaites simplement faire l'affichage des images avec écris en dessous : le nom et l'id selectionner dans la base de donnée

  4. #4
    Membre expérimenté Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Points : 1 455
    Points
    1 455
    Par défaut
    Ce que tu veux,
    c'est une grande image de fond avec toutes tes images qui se rajoutent par dessus en cordonnées "x,y" ?

    PS: peut tu imager ton problème pour qu'on s'en fasse une meilleur idée?

  5. #5
    Membre expérimenté Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Points : 1 455
    Points
    1 455
    Par défaut
    Je peux te donner un code qui me sert pour importer des images
    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
    20
    21
    22
            '#############################################
            '############ Création des barres ############
            '#############################################
            '' Déclaraction
            Dim BarreGauche As System.Drawing.Image = Nothing
            Dim BarreDroite As System.Drawing.Image = Nothing
            '' Récupération des images
            Try
                BarreGauche = System.Drawing.Image.FromFile(Application.StartupPath & "\image\BarreDeplacer_Bleu.png")
                BarreDroite = System.Drawing.Image.FromFile(Application.StartupPath & "\image\BarreAfficherMasquer_Rouge.png")
            Catch ex As Exception
                MsgBox("Impossible de charger les images", MsgBoxStyle.Critical, "Erreur")
                Application.Exit()
            End Try
            '' Ajustement des pictureBox
            pictBarreGauche.Height = BarreGauche.Height
            pictBarreGauche.Width = BarreGauche.Width
            pictBarreGauche.Image = BarreGauche
     
            pictBarreDroite.Height = BarreDroite.Height
            pictBarreDroite.Width = BarreDroite.Width
            pictBarreDroite.Image = BarreDroite
    je les met dans des picturesBox.
    En espérant que ça t'aide

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Merci pour ton code mais enfaite ce que je voudrais faire reviens à ça en PHP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $req = mysql_query('SELECT * FROM matable');
    while ($donnees = mysql_fetch_array($req))
    {
    	<img src=images/$donnees["IDIMG"].PNG>
            <p>$donnees["ID"]</p>
            <p>$donnees["Name"]</p>                       
    } // Fin de la boucle
    mysql_free_result($req);

    Mais je ne sais pas du tout comment faire en vb.net ...
    Et si je dois faire comme tu m'as dit le code sera énorme car il y a au moins 500 images ..

  7. #7
    Membre expérimenté Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Points : 1 455
    Points
    1 455
    Par défaut
    Ahh tu veux afficher tes données sous forme de tableau,
    avec tes éléments
    • nom
    • ID
    • image


    En vb.net, il existe le "DataGridView" qui à l'allure d'un tableau.
    et tu pourrais t'en servir pour afficher tes données *500 images j'ai pas essayé *

    pour ajouter le nom et l'ID, c'est sans problème, *ces sont des String*
    pour l'image j'ai trouvé ce petit bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DataGridView1.Item(0, 0) = New DataGridViewImageCell
    DataGridView1.Item(0, 0).Value = New Bitmap( Global .Ping.My.Resources.check)
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            Dim img As New DataGridViewImageColumn()
            Dim inImg As Image = Image.FromFile("Image Path")
            img.Image = inImg
            DataGridView1.Columns.Add(img)
            img.HeaderText = "Image"
            img.Name = "img"
    Et si je dois faire comme tu m'as dit le code sera énorme car il y a au moins 500 images ..
    Pas du tout, ta BDD contient les noms de fichier, tu fais comme en PHP avec une boucle While

    PS: ce ne sont que des idées, a toi de voir si ça te convient

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Mmmh okay, mais je ne comprend pas le fonctionnement ...

    Comment faire pour que ça mette autent de ligne que de ligne trouvé dans la bdd ?

    Voici mon code pour la connexion de bdd (Les noms des tables sont différents hein):
    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
    20
    21
    22
            Dim oConn As MySqlConnection
            oConn = New MySqlConnection()
            oConn.ConnectionString = "server =localhost;user = root;password = '';database= ancestra_other"
            oConn.Open()
            Dim myCommand As New MySqlCommand
            Dim MyAdapt As New MySqlDataAdapter
            Dim myDataTable As New DataTable
            Dim strQuery As String
            strQuery = "SELECT * FROM matable"
            myCommand.Connection = oConn
            myCommand.CommandText = strQuery
            MyAdapt.SelectCommand = myCommand
            MyAdapt.Fill(myDataTable)
            For i As Integer = 0 To myDataTable.Rows.Count - 1
                Dim guid As String
                Dim id As String
                Dim Gfxid As String
                id = myDataTable.Rows(i)("id").ToString
                img = myDataTable.Rows(i)("idimg").ToString
                name = myDataTable.Rows(i)("name").ToString
            Next
            oConn.Close()
    Il faut que je mettre autent de ligne que de resultat trouvé, donc mettre (i) ligne ?
    Ensuite comment dois-je faire pour que l'image soit bien dans la première cellule, et qu'à chaque nouvelle images (Donc chaque nouvelle ligne dans la bdd) cela change de cellule pour la cellule suivante (Celle du bas)

  9. #9
    Membre expérimenté Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Points : 1 455
    Points
    1 455
    Par défaut
    Oo 3h45 oO
    *tu habite pas en france toi *


    Mmmh okay, mais je ne comprend pas le fonctionnement ...
    Voila un petit coin lecture enrichissant sur les DataGridView


    Ensuite sur ton problème, je partirais comme ceci *je ne sais pas si c'est optimisé*
    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
    20
    21
    22
    'Déclaration des variables
    Dim New_row As String()
    '...
     
    'Tes commandes de connexion
    '...
    ' Efface le tableau
    DataGridView.Rows.Clear() 
     
    For i As Integer = 0 To myDataTable.Rows.Count - 1
     
      ' exemple: 
      '      Dim row0 As String() = {"11/22/1968", "29", "Revolution 9", "Beatles", "The Beatles [White Album]"}
      '      MyDataGridView.Rows.add(row0)
     
      With myDataTable
        New_row = {.Rows(i)("id").ToString,.Rows(i)("idimg").ToString, .Rows(i)("name").ToString}
      End With
     
      DataGridView.Rows.Add(New_row)
     
    Next
    Voila la partie simple,
    après essaye d'ajouter l'image avec le code que je t'ai donné avant.
    Je ne l'ai pas testé mais tu doit pouvoir en faire quelque chose

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Merci bien, ton code marche parfaitement ..
    Mais pour l'image j'ai utiliser ton code en l'adaptant mais quand je lance le debug ça m'indique
    Une exception de première chance de type 'System.IO.FileNotFoundException' s'est produite dans System.Drawing.dll
    et quand je le lance depuis le .exe il me dise textuellement : "/images/30.PNG"
    Bref voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
                Dim idimg As String
                idimg = myDataTable.Rows(i)("gfxID").ToString
                Dim img As New DataGridViewImageColumn()
                Dim inImg As Image = Image.FromFile("\images\" & idimg & ".PNG")
                img.Image = inImg
                DataGridView1.Columns.Add(img)
                With myDataTable
                    New_row = {"", .Rows(i)("id").ToString, .Rows(i)("name").ToString}
                End With
    HS : Si je suis français, c'est juste que je profite beaucoup de mes vacances ;p

  11. #11
    Membre expérimenté Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Points : 1 455
    Points
    1 455
    Par défaut

    Mon dieu, n'a tu pas pité de vb *lol*

    tu ajoute une colonne d'image....
    c'est pas vraiment ce que tu a besoin

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    '...
    '...
    DataGridView.Rows.Add(New_row)
     
     
    Dim inImg As Image = Image.FromFile("\images\" & myDataTable.Rows(i)("gfxID").ToString & ".PNG")
     
    DataGridView1.Item(i, 3) = New DataGridViewImageCell ' <-- ici tu précise que la 3ème cellule va prendre une image
    DataGridView1.Item(i, 3).Value = inImg
    Bon j'ai rien testé,
    je ne sais mm pas si la syntaxe est bonne.
    Mais tu vois l'idée maintenant

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Merci bien mais cela n'est toujours pas bon .. Cela m'affiche la même erreur, j'ai même mis tous le chemin vers l'images mais cela ne fonctionne pas non plus ...


    PS : C'est vrai que quand je regarde bien mon code, j'ai honte x)

  13. #13
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim inImg As Image = Image.FromFile("images\" & myDataTable.Rows(i)("gfxID").ToString & ".PNG")

  14. #14
    Membre expérimenté Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Points : 1 455
    Points
    1 455
    Par défaut
    Sur qu'elle ligne as tu ton erreur?

Discussions similaires

  1. [Débutant] comment afficher plusieurs images dans une interface
    Par zakary dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 02/05/2009, 10h47
  2. [Débutant] comment afficher plusieurs images dans une seule interface ?
    Par youssa81 dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 06/02/2009, 00h36
  3. Comment afficher plusieurs images depuis une BD en même temps ?
    Par thibouille dans le forum Bases de données
    Réponses: 2
    Dernier message: 06/11/2007, 15h36
  4. Réponses: 8
    Dernier message: 14/10/2007, 16h49
  5. Afficher une image depuis un fichier
    Par Bourak dans le forum MFC
    Réponses: 1
    Dernier message: 23/06/2007, 15h01

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