c# WPF从Mysql显示图像
本文关键字:显示图 图像 显示 Mysql WPF | 更新日期: 2023-09-27 18:07:20
我是一名学生,我不擅长编程。我保存图像在我的mysql数据库为每个球员。我创建了一个程序,可以从我的数据库中列出一些足球运动员。当我点击数据网格中列出的球员时,会出现一个新窗口,显示有关该球员的信息。一切工作,但现在我想要从数据库的信息窗口显示所选球员的图片。有人能帮帮我吗?我的英语不是最好的(我17岁),所以我希望你能理解我的意思。
这就是我想做的,但我不知道如何继续。PS:它在WPF中。
MySqlCommand cmd = new MySqlCommand("SELECT Bilder FROM spieler WHERE Bilder='{8}'");
MySqlDataReader rdr1 = cmd.ExecuteReader();
try
{
conn.Open();
while (rdr1.Read())
{
// image1... I don't know what to write here
}
}
catch (Exception ex)
{
MessageBox.Show("Fehler: " + ex);
}
rdr1.Close()
只需事先使用byte[]
强制转换即可:
while (rdr1.Read())
{
byte[] data = (byte[])reader[0]; // 0 is okay if you only selecting one column
//And use:
using (System.IO.MemoryStream ms = new System.IO.MemoryStream(data))
{
Image image = new Bitmap(ms);
}
}
更新:在WPF中,使用BitmapImage
:
using (System.IO.MemoryStream ms = new System.IO.MemoryStream(data))
{
var imageSource = new BitmapImage();
imageSource.BeginInit();
imageSource.StreamSource = ms;
imageSource.CacheOption = BitmapCacheOption.OnLoad;
imageSource.EndInit();
// Assign the Source property of your image
yourImage.Source = imageSource;
}
保存图像的列类型是什么?你可以试试这样写
Image tmp = ImageConverter.ConvertFrom(rdr1.GetStream("photo"));
where photo is your column name