从数据库中加载图片框中的图片

时间:2012-10-31 04:33:53

标签: c# winforms picturebox windows-applications

我尝试了以下代码,用于从数据库中加载图片框中的图像。但每次都会收到类似' paramater is not valid '的错误。

buttonSave()
            {
                .......
                .......
                img = Image.FromFile(strFileName);
                byte[] byteImg = ImageToByteArray(img);
                objEmp.Picture = byteImg;
                .......
                .......
            } 

public byte[] ImageToByteArray(Image img)
        {
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
            return ms.ToArray();
        }  

Display()
       { 
           .......
           .......
           Byte[] bytePicData = (Byte[])dt.Rows[0]["PICTURE"];                
           MemoryStream stmPicData = new MemoryStream(bytePicData);
           PicBox.Image = Bitmap.FromStream(stmPicData);} 
           .......
           .......
      }

1 个答案:

答案 0 :(得分:1)

图像已损坏。错误来自FromStream方法。您可以写入磁盘,看看是否可以在图像视图中打开它。如果没有,请检查将其插入数据库的代码

Byte[] bytePicData = (Byte[])dt.Rows[0]["PICTURE"];
// Save
File.WriteAllBytes("out.bmp", bytePicData);

MemoryStream stmPicData = new MemoryStream(bytePicData);
PicBox.Image = BitMap.FromStream(stmPicData);