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 :

Charger une image à partir d'une collection d'images


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Points : 61
    Points
    61
    Par défaut Charger une image à partir d'une collection d'images
    Bonjour,

    Je voudrais charger un image via une pictureBox à partir d'une collection contenant des images. Mais je n'arrive pas à le faire

  2. #2
    Membre éprouvé
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Points : 1 111
    Points
    1 111
    Par défaut
    Bonjour,

    As tu déjà un petit bout de code ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Points : 61
    Points
    61
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       Me.PictureBox1.Load(coll.Item(1).ToString)
    Ce serait pour récupérer la 1ere image

    Mais La méthode Load aattend une adresse url et pas un string mais je ne sais pas quelle méthode de la collection il faudrait utiliserr et pareil pour Load

  4. #4
    Membre éprouvé
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Points : 1 111
    Points
    1 111
    Par défaut
    Que contient ta collection ?

    Si ceux sont des chemins vers tes images, tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PictureBox1.Image = New Bitmap (coll.Item(0))

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Points : 61
    Points
    61
    Par défaut
    ma collection contient des images

    ton code ne marche pas

    Erreur 1 La résolution de surcharge a échoué, car aucun 'New' accessible ne peut être appelé sans conversion restrictive*:
    'Public Sub New(original As System.Drawing.Image)': L'argument qui correspond au paramètre 'original' passe de 'Object' à 'System.Drawing.Image'.
    'Public Sub New(stream As System.IO.Stream)': L'argument qui correspond au paramètre 'stream' passe de 'Object' à 'System.IO.Stream'.
    'Public Sub New(filename As String)': L'argument qui correspond au paramètre 'filename' passe de 'Object' à 'String'. C:\Documents and Settings\b.gougis\Mes documents\Visual Studio 2008\Projects\Collection\Collection\Form1.vb 105 29 Collection

  6. #6
    Membre éprouvé
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Points : 1 111
    Points
    1 111
    Par défaut
    Et bien si ceux sont déjà des images, tu devrais pouvoir faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    PictureBox1.Image = coll.Item(0)

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Points : 61
    Points
    61
    Par défaut
    Je n'ai pas d'erreur lors du débogage mais une erreur au niveau de cette ligne quand j'exécute sans doute un problème de conversion

  8. #8
    Membre éprouvé
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Points : 1 111
    Points
    1 111
    Par défaut
    Quelle est l'erreur générée ?

    Comment remplit tu ta collection ?

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Points : 61
    Points
    61
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    coll.Add(Me.PictureBox1)

  10. #10
    Membre éprouvé
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Points : 1 111
    Points
    1 111
    Par défaut
    Merci pour ces réponses exhaustives qui m'aident grandement à t'aider dans ton développement

    Je comprends pas vraiment ce que tu veux faire...tu remplis ta collection à partir d'une picturebox et tu veux remplir cette même picturebox avec les valeurs de ta collection. Bizarre !

    Par contre, si c'est un traitement normal de ton programme, il faut que tu ajoutes comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PictureBox1.Image = coll.Item(0).Image
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    PictureBox1 = coll.Item(0)

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Points : 61
    Points
    61
    Par défaut
    coll.Item(0).Image n'est pas reconnu pendant l'exécution et pour l'autre solution c'est identique

  12. #12
    Membre éprouvé
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Points : 1 111
    Points
    1 111
    Par défaut
    Mouais, pourrait tu poster tous les codes où tu utilises ta picturebox et ta collection, et expliquer plus en détails ton projet/environnement/avancement ?

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Points : 61
    Points
    61
    Par défaut
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    Public Class Form1
     
        Dim coll As New Microsoft.VisualBasic.Collection()
     
        Class A
     
            Private Nom As String
            Private Age As Integer
     
            'Lecture données
            Public Function GetNom() As String
     
                Return Me.Nom
            End Function
     
            Public Function GetAge() As Integer
                Return Me.Age
            End Function
     
            'Ecriture données
            Sub SetNom(ByRef Name As String)
                Me.Nom = Name
            End Sub
     
            Sub SetAge(ByRef year As Integer)
     
                Me.Age = year
     
            End Sub
     
        End Class
        Dim Obj_A As New A
     
        Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
            Dim I As Integer
            Dim N As String
     
            I = InputBox("Numéro de l'élément à remplacer") 'Boite de dialogue non modale pour invitation du numéro de l'élément à remplacer
            N = InputBox("élément qui remplace")    'invitation à la saisie de l'élément
            coll.Add(N, , , I)  'Ajoute l'élément N après l'élément I
            coll.Remove(I)  'Supprime l'élément I
        End Sub
     
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
            coll.Clear()
     
        End Sub
     
        Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
     
        End Sub
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            coll.Clear()
            ListBox1.Items.Clear()
     
        End Sub
     
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            Dim Str_Name As String
     
            'Récupération élément
            Str_Name = InputBox("Entrez un nom")
     
            'Initialise le nom de l'objet
            Obj_A.SetNom(Str_Name)
     
            'Ajoute à la collection
            coll.Add(Obj_A.GetNom())
            'coll.Add(Str_Name)
     
        End Sub
     
        Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
            ' Affichage du nombre d'éléments
            MsgBox("Le nombre d'éléments est: " & coll.Count)
        End Sub
     
        Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
            'Efface les éléments affichés dans la liste
            Me.ListBox1.Items.Clear()
     
            Dim I As Integer
     
            For I = 1 To coll.Count
                ListBox1.Items.Add(coll(I)) 'Ajoute la collection à la liste d'affichage
            Next
        End Sub
     
        'BDD
        Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
            If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
                PictureBox1.Load(OpenFileDialog1.FileName)
            End If
        End Sub
     
        'Ajout de l'image courante à la collection
        Private Sub Button6_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
            coll.Add(Me.PictureBox1)
        End Sub
     
        'Chargement de la 1ere image
        Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
            PictureBox1.Image = coll.Item(1)
     
        End Sub
     
        Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
            'Me.ProgressBar1.Step
        End Sub
    End Class

  14. #14
    Membre éprouvé
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Points : 1 111
    Points
    1 111
    Par défaut
    Euh ouais, c'est un peu le bordel ton code...tu ajoutes tout et rien à ta collection.

    As tu vérifier les données en pas à pas à l'ajout de ta picturebox ?
    Pourrais tu expliquer le but de ton programme ?

    (Si tu continus à me donner le minimum d'infos, jvais abandonner )

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Points : 61
    Points
    61
    Par défaut
    il n'y a pas vraiment de but, j'essaye beaucoup d'éléments différents

  16. #16
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 77
    Points : 53
    Points
    53
    Par défaut
    Salut, j'ai une solution en vb net. Il s'agit de créer deux button (Charger et effacer) et un module que t'appelera ModuleCharger ou comme tu le souhaite.

    Dans le module, tu mets ce code :
    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
     
     Public Sub ChargerPhoto()
            Dim f As String
            Dim o As New OpenFileDialog
            Try
                o.Filter = "Toutes les images|*.bmp;*.jpg"
                o.ShowDialog()
                f = o.FileName
                If f <> "" Then
                    FrmeMPLOYE.PHOTOPictureBox.Image = System.Drawing.Bitmap.FromFile(f)
                    FrmeMPLOYE.ShowDialog()
                Else
                    FrmeMPLOYE.Refresh()
                End If
            Catch ex As Exception
                MsgBox("Format non supporté !")
            End Try
        End Sub
    Dans le button "Charger", t'appelle juste le module
    Dans le button "Effacer",
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
         If Not (PHOTOPictureBox.Image Is Nothing) Then
                PHOTOPictureBox.Image.Dispose()
                PHOTOPictureBox.Image = Nothing
         End If
    En espérant t'avoir aider.

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Points : 61
    Points
    61
    Par défaut
    c'est quelle fenêtre?

  18. #18
    Membre éprouvé
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Points : 1 111
    Points
    1 111
    Par défaut
    Citation Envoyé par toutounesan Voir le message
    il n'y a pas vraiment de but, j'essaye beaucoup d'éléments différents
    Ouais enfin, même un test à une finalité...

    Encore une fois, as tu regardé la valeur des items de ta collection en pas à pas ?

  19. #19
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 77
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par toutounesan Voir le message
    c'est quelle fenêtre?
    C'est juste un exemple. C'est le formulaire ou se trouve ta picturebox. Ici le frmemploye est un exemple. c'est le formulaire ou se trouve le picturebox (photopîcturebox).

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Points : 61
    Points
    61
    Par défaut
    Le but de ce que je voudrais faire c'est de mettre des images dans un objet collection (ça j'y arrive en principe) mais je n'arrive pas à les afficher à partir de la cette collection

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/03/2010, 15h43
  2. [Batch] Créer une chaine à partir d'une variable et d'une autre chaine
    Par mlle lain dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 10/11/2009, 16h26
  3. Saisir une image à partir d'une photo ou d'une vidéo
    Par lohengrin56 dans le forum Flash/Flex
    Réponses: 0
    Dernier message: 07/07/2009, 16h17
  4. Réponses: 2
    Dernier message: 05/01/2009, 12h45
  5. Réponses: 5
    Dernier message: 22/05/2008, 14h42

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