c#如何释放已经加载的图片
我的窗体中有一个PICTUREBOX,程序启动后已经加载1张本地图片。但在该窗体中写代码删除该图片文件。不知道如何实现(目前问题是运行后显示该图片已被使用)怎么呢...
我的窗体中有一个PICTUREBOX,程序启动后已经加载1张本地图片。但在该窗体中写代码删除该图片文件。不知道如何实现(目前问题是运行后显示该图片已被使用)
怎么呢 展开
怎么呢 展开
3个回答
展开全部
你是用 Image.FromFile取的图片吧,这个方法会锁定图片文件。 有几种方法解决:
一:
System.Drawing.Image img = System.Drawing.Image.FromFile(filepath);
System.Drawing.Image bmp = new System.Drawing.Bitmap(img);
img.Dispose();
然后使用 bmp作为PictureBox的图片源
二:从流中读取
FileStream pFileStream = new FileStream("文件名", FileMode.Open, FileAccess.Read);
pictureBox1.Image = Image.FromStream(pFileStream);
pFileStream.Close();
pFileStream.Dispose();
一:
System.Drawing.Image img = System.Drawing.Image.FromFile(filepath);
System.Drawing.Image bmp = new System.Drawing.Bitmap(img);
img.Dispose();
然后使用 bmp作为PictureBox的图片源
二:从流中读取
FileStream pFileStream = new FileStream("文件名", FileMode.Open, FileAccess.Read);
pictureBox1.Image = Image.FromStream(pFileStream);
pFileStream.Close();
pFileStream.Dispose();
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询