首页 > 代码库 > Winform中的PictureBox读取图像文件无法释放的问题

Winform中的PictureBox读取图像文件无法释放的问题

今天做一拍照程序,相机SDK什么都搞定,就为了显示图像并且保存照片的步骤卡了半天。

原因是预览图像使用了PictureBox,载入图片文件的方式为:

  pictureBoxPhoto.Image = Image.FromFile(filepath) ;

但是这样操作会导致图像文件一直处于被占用状态,一旦拍照完成需要覆盖源图的时候,会因为文件操作未释放无法覆盖。

之前查了各种方案,什么深拷贝都上了,最后发现,用FileStream来操作最有效。

替换之前的代码:

 using (FileStream lStream = new FileStream(filepath, FileMode.Open, FileAccess.Read))
                    pictureBoxPhoto.Image = Image.FromStream(lStream);