GDI+ 中发生一般性错误,解决办法简单探索。

Bitmap.Save的时候出现这么一个错误,查了一下,说是文件占用之类的。

可是怎么测试都发现应该不是这个问题(事实上就是这个问题,闹了一个乌龙而已)。

描述下:

场景一:需要加载A图进行相关运算,最终保存成B,C,D图,没有异常。

场景二:加载了B图进行运算,最终保存成B,C,D图,出问题了。


反复查看了两个文件的详细信息,包括位深度、水平/垂直分辨率、扫描宽度。。。。(这些现在看来就跟南辕北辙一样)。

经过猜测、编程、测试,发现都不是以上原因,比如ImageCodecInfo,EncoderParameters都考虑了下。

然后突然就脑洞一开,在B之前加了一段System.IO.File.Delete(B);,场景二会抛出文件被占用的异常。

好大一个乌龙啊,GDI+异常都已经提示是External了,居然没注意,然后,请拍砖!


【注意】网上说的在保存文件时添加一个System.Drawing.Imaging.ImageFormat不完全对,这个跟我这里的异常虽然没有半点关系,但是影响我这里的算法,所以请具体问题具体分析。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值