释放在表单中分配的图像

时间:2014-06-19 21:37:56

标签: vb.net

我必须加载一个图像然后用另一个计时器删除它,但除非我发布图像资源,否则它是不可能的,代码是:

 pic=Image.FromFile(Directory.GetCurrentDirectory+ "s.png")

此图片将被其他计时器代码替换,但无法替换,因为我目前正在显示此图片s.png。如何在显示s.png时再写它然后重新加载它?告诉我一些方法,我可以通过它释放资源s.png,以便其他程序可以修改它。

1 个答案:

答案 0 :(得分:2)

尝试将图像数据读入内存并从中创建Image

Dim stream = New MemoryStream(File.ReadAllBytes(Directory.GetCurrentDirectory() & "s.png"))
Dim pic = Image.FromStream(stream)

Image的生命周期为need to keep the stream open,因此当替换图像文件并重新阅读时,请在Disposestream上调用pic {{1}}在重新创建它们之前。