Bonjour,
Je voudrais charger un image via une pictureBox à partir d'une collection contenant des images. Mais je n'arrive pas à le faire
Bonjour,
Je voudrais charger un image via une pictureBox à partir d'une collection contenant des images. Mais je n'arrive pas à le faire
Bonjour,
As tu déjà un petit bout de code ?
Ce serait pour récupérer la 1ere image
Code : Sélectionner tout - Visualiser dans une fenêtre à part Me.PictureBox1.Load(coll.Item(1).ToString)
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
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))
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
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)
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
Quelle est l'erreur générée ?
Comment remplit tu ta collection ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part coll.Add(Me.PictureBox1)
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 :
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part PictureBox1.Image = coll.Item(0).Image
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 PictureBox1 = coll.Item(0)
coll.Item(0).Image n'est pas reconnu pendant l'exécution et pour l'autre solution c'est identique
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 ?
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
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)
il n'y a pas vraiment de but, j'essaye beaucoup d'éléments différents
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 :
Dans le button "Charger", t'appelle juste le module
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 "Effacer",
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ChargerPhoto()
En espérant t'avoir aider.
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
c'est quelle fenêtre?
Code : Sélectionner tout - Visualiser dans une fenêtre à part FrmeMPLOYE
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager