我正在尝试编写Windows应用程序以将.avi
视频转换为位图框架。我可以获取位图,但是在保存它们时遇到了问题。
最多可以保存第1649张图像。之后,我得到这个异常:
尝试读取或写入受保护的内存。这通常表明其他内存已损坏
我运行了几次代码,在处理第1649帧时,代码总是抛出异常。程序停止时,输出文件夹开头是空的,其大小为389 MB。
我猜想Windows不允许程序在短时间内写入此数量的数据,但我不确定,我也不知道如何解决它。有人可以帮忙吗?
for(counter = reader.Start; counter<(reader.Start + reader.Length); counter++)
{
DummyBitmap = reader.GetNextFrame();
DummyBitmap.Save(folderBrowserDialog2.SelectedPath + "\\" + counter.ToString() + ".bmp");
reader.Position++;
}
最佳答案
位图类实现IDisposable接口,因此将其用作:
using (var b = new Bitmap(...))
{
}
另外,也许这篇文章可以给您一些答案:Bitmap memory leak。
关于c# - Bitmap.Save()方法异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17830872/