将字节数据加载到图片框中

时间:2011-07-29 07:13:09

标签: vb.net

我使用以下代码在数据库中保存了图像。

ofd.ShowDialog()
    vrPicHolder = IO.File.ReadAllBytes(ofd.FileName)
    Dim drPic As DataRow
    drPic = DsPic.tblPicTest.NewRow
    drPic.Item("Picture") = vrPicHolder
    DsPic.tblPicTest.Rows.Add(drPic)
    taPic.Update(DsPic.tblPicTest)

现在我想在图片框中显示此图片。我试过了

PictureBox1.Image = Image.FromFile(vrPicHolder)

但它说无法将Byte()转换为字符串。请告知如何加载此图片。 谢谢 Furqan

3 个答案:

答案 0 :(得分:6)

您正在调用的方法需要一个字符串,该字符串是图像的文件名。您需要将图像的文件名传递给BMP,GIF,JPEG,PNG或TIFF格式。

Image.FromFile Method (String)

你应该做的是:

Dim pictureBytes as New MemoryStream(vrPicHolder)
PicutureBox1.Image = Image.FromStream(pictureBytes)

Image.FromStream Method (Stream)

答案 1 :(得分:1)

这是因为Image.FromFile方法期望FilePath为String。就像从某个给定路径导入文件一样。参见Image.FromFile Method (String)

Image.FromStream Method (Stream)是解决此问题的方法。

还有一点,您不应该将完整的Image设置为数据库。而是将图像保存到某个物理路径中,并从数据库中引用此路径。

答案 2 :(得分:0)