如何解决如何从实时HTML视频源更新GUI上的Winforms图片框?
运行代码时,我不断收到“参数无效”错误或内存泄漏(图片未更新)。我正在尝试使用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 举报,一经查实,本站将立刻删除。