问题描述
运行代码时,我不断收到“参数无效”错误或内存泄漏(图片未更新)。我正在尝试使用AForge.Net从本地IP摄像机获取帧。我得到的确切错误代码是:
“在System.Drawing.dll中发生了'System.ArgumentException'类型的未处理异常 参数无效。”
private void Form1_Load(object sender,EventArgs e) {
Console.WriteLine(camaddress);
stream.source = camaddress;
stream.Login = camUser;
stream.Password = camPass;
stream.Start();
//PictureBox.CheckForIllegalCrossthreadCalls = false;
CaptureCamera();
isCameraRunning = true;
}
private void CaptureCamera() {
try {
camera = new Thread(new ThreadStart(CaptureCameraCallback));
camera.Start();
} catch (Exception e) {
Debug.Write("Exception encountered trying to capture camera:\n" + e.ToString() + "\n");
}
}
private void CaptureCameraCallback() {
log.information("Camera Opened",testID);
guiLogWrite("Camera Opened");
while (stream.IsRunning) {
stream.NewFrame += new NewFrameEventHandler(VideoStream_NewFrame);
}
}
private void VideoStream_NewFrame(object sender,NewFrameEventArgs eventArgs) {
try {
//Image FrameData = new Bitmap(eventArgs.Frame);
if (Feed.Image != null) Feed.Image.dispose();
Bitmap FrameData = AForge.Imaging.Image.Clone(eventArgs.Frame);
SetPicture(FrameData);
FrameData.dispose();
} catch { }
}
private void SetPicture(Image img) {
if (this.Invokerequired) {
this.Invoke(new MethodInvoker(delegate { SetPicture(img); }));
} else {
this.Feed.Image = img;
}
这是我第一次在Stack Overflow上发帖,所以如果我忘记了什么,请告诉我。我花了几个小时研究其他stackoverflow线程,而Google试图找到一种解决方案。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)