在C#中将二进制数据转换为图像

时间:2012-01-09 16:44:53

标签: c# asp.net

我很困惑如何从MySQL数据库中检索图像并将其从二进制格式转换为位图图像,以便在ASP:ImageHTML Image中显示。我能够上传图像,但它被转换为二进制数据,我无法理解如何将其转换回位图格式:(

protected void Button2_Click(object sender, EventArgs e)
{
    cmd = new OdbcCommand("SELECT picture from profile limit 1", MyConnection);
    MyConnection.Open();
    OdbcDataReader dr = cmd.ExecuteReader();
    if (dr.HasRows == false)
    {
        Response.Write("No rows");
    }
    if(dr.Read())
    {
        // WHAT TO CODE HERE?
    }
}

任何人都可以帮我填写代码在这里代码部分。

2 个答案:

答案 0 :(得分:0)

如果您修改此方法,它应该可以解决问题:

        public BitmapImage ConvertToImage(System.Data.Linq.Binary binary)
    {
        byte[] buffer = binary.ToArray();
        MemoryStream stream = new MemoryStream(buffer);
        BitmapImage image = new BitmapImage();
        image.BeginInit();
        image.StreamSource = stream;
        image.EndInit();
        return image;
    }

答案 1 :(得分:0)

从添加引用中添加“PresentationCore”dll以获取System.Windows.Media.Imaging dll以便删除缺少的引用错误...:)