Bonjour ,
J'ai un petit soucis, je souhaite afficher des icons sur certains de mes boutons qui sont générés dynamiquement en fonction d'une table sql(1boutons par ligne), j'ai donc ajouté un champ Image dans ma table.
Pour gérer cette table j'ai un formulaire, auquel j'ai ajouté une picture box où l'image sera affichée.
J'ai ajouté un bouton parcourir pour aller charger un fichier .ico, que je met dans ma picture box de cette façon
Lorsque l'utilisateur enregistre, j'essaie de convertir mon image en tableau de byte, c'est là que le souci se pose
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 private void parcourir_Click(object sender, EventArgs e) { OpenFileDialog o = new OpenFileDialog(); o.InitialDirectory = "c:\\"; o.Filter = "Icone (*.ico)|*.ico"; o.RestoreDirectory = true; if (o.ShowDialog() == DialogResult.OK) { pictureBox1.Image = Image.FromFile(o.FileName); } }
L'erreur se produit lors de la méthode .Save()
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 private void bt_save_Click(object sender, EventArgs e) { DataRowView maRow = (DataRowView) maTableBindingSource.Current; if (pictureBox1.Image != null) { MemoryStream stream = new MemoryStream(); pictureBox1.Image.Save(stream,System.Drawing.Imaging.ImageFormat.Icon); maRow["Icone"] = stream.ToArray(); } else { r["Icone"] = DBNull.Value; } maTableBindingSource.EndEdit(); monTableAdapter.Update(monDataSet); majContexte(0); }Par contre elle ne se produit qu'avec System.Drawing.Imaging.ImageFormat.Icon, ca marche très bien en Bmp ou jpeg sauf que je souhaite garder la transparence de l'icon.System.ArgumentNullException La valeur ne peut pas être null. Nom du paramètre*: encoder.
Si quelqu'un a une solution ou des suggestions, je suis tout ouïe.
Merci d'avance.
Partager