[求助]利用AVIwriter将Bitmap写入AVI时,无法释放内存
private void timer1_Tick(object sender, EventArgs e)
{
try
{
Bitmap a;
if (CheckCursor)
{
a = CaptureDesktop();
}
else
{
a = CaptureNoCursor();
}
if (enter)
{
SWidth = a.Width;
SHeight = a.Height;
string str = "C:\\Vedio.avi";
FileInfo fi = new FileInfo(str);
if (fi.Exists)
{
fi.Delete();
}
aviWriter = new AVIWriter();
//avi中所有图像皆不能小于width及height
avi_frame = aviWriter.Create(str, 1, SWidth, SHeight);
enter = false;
}
a.RotateFlip(RotateFlipType.Rotate180FlipX);
aviWriter.LoadFrame(a);
aviWriter.AddFrame();
a.Dispose();
}
catch
{}
}
上述内容根据后面URL内容改编:http://wangwdding.blog.163.com/blog/static/134191386201032053659186/
在“C#将图像文件压缩为AVI文件播放”有相关源码
疑问:上述过程可以将bitmap正常写入AVI文件,但内存不断增加,注释掉“aviWriter.LoadFrame(a);”和“aviWriter.AddFrame();”后内存正常工作
应该是写AVI的过程中,载入帧数据后没有释放,C#封装的AVIFILE不知道怎么释放这部分内存,请高手帮忙
--------------------编程问答-------------------- 增加的内存不是a的而是AVI的
补充:.NET技术 , C#