首页 新闻 会员 周边

.net的对象释放问题

0
悬赏园豆:10 [已解决问题] 解决于 2008-12-30 13:54

我的处理是这样的,要把两张图片合并成一张图片,并在图片上添加上一些文字信息,得到合并的图片后把原始图片删掉,但删除时抛出异常说原始图片被另一线程占用,不能删除。

创建图片对象 :Image img = new Bitmap(Image.FormFile(url),768,576);

试用完毕时:img.Dispose();

为什么调用了Dispose后还不让删除啊,这个地方该怎么处理?请高人指点!

AK47+的主页 AK47+ | 初学一级 | 园豆:107
提问于:2008-12-26 13:38
< >
分享
最佳答案
0

可能是img.Dispose();之后不一定能立即得到垃圾回收器的回收,你可以使用System.IO中的File类试试,这个类可以把图片读入内存以后释放到资源(封装的比较好)

GUO Xingwang | 老鸟四级 |园豆:3885 | 2008-12-26 13:45
其他回答(2)
0

看看前面是不是自己还在对该对象进行操作,先释放相关的指针。

孤剑 | 园豆:328 (菜鸟二级) | 2008-12-26 18:56
0

你取得原始图片后 最好复制到另外一个Image对象 然后再释放原来那张图片

现在这样情况可能是 新的图片 还保持原来的引用

Such Cloud | 园豆:130 (初学一级) | 2008-12-27 17:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册