BitmapImage占用的图片资源如何释放?

wushang923 2010-10-19 10:08:46
造成的结果是无法删除图片,说是正在被其他进程使用。
...全文
1132 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wushang923 2010-10-20
  • 打赏
  • 举报
回复
谢谢 周药师 那是你的博客吗?
wushang923 2010-10-20
  • 打赏
  • 举报
回复
在某人的博客里找到了解决办法,运行成功,呵呵。

===============解决方法=============
最后发现初始化BitmapImage可以通过byte[]进行,于是只能通过将png文件读成byte[],再进行BitmapImage的初始化,就没有问题了

// Read byte[] from png file
BinaryReader binReader = new BinaryReader(File.Open(filePath, FileMode.Open));
FileInfo fileInfo = new FileInfor(filePath);
byte[] bytes = binReader.ReadBytes((int)fileInfo.Length);
binReader.Close();

// Init bitmap
BitmapImage bitmap = new BitmapImage();
bitmap.BeginInit();
bitmap.StreamSource = new MemoryStream(bytes);
bitmap.EndInit();

周药师 2010-10-19
  • 打赏
  • 举报
回复
http://hi.baidu.com/mickeysullivan/blog/item/c9ced13dd60727f6828b133c.html
绝代坏坏 2010-10-19
  • 打赏
  • 举报
回复
把对象dispose啊。如果用流写的数据关闭流。
liuyuting001 2010-10-19
  • 打赏
  • 举报
回复 1
image.Dispose();
System.GC.SuppressFinalize(image);

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧