AForge für Video- und Bild Sachen zu versuchen, entschied Nachdem ich versuchte this simple demo umzusetzen:Was könnte beim Aktualisieren einer PictureBox zu einer ArgumentException führen?
private void Main_Load(object sender, EventArgs e)
{
// enumerate video devices
FilterInfoCollection videoDevices = new FilterInfoCollection(
FilterCategory.VideoInputDevice);
// create video source
VideoCaptureDevice videoSource = new VideoCaptureDevice(
videoDevices[0].MonikerString);
// set NewFrame event handler
videoSource.NewFrame += new NewFrameEventHandler(video_NewFrame);
// start the video source
videoSource.Start();
}
private void video_NewFrame(object sender, NewFrameEventArgs eventArgs)
{
this.pictureBox1.Image = eventArgs.Frame;
}
Das Problem ist, dass ich immer ein ArgumentException
bekommen, immer sofort ist allerdings nicht passieren. Es erscheint auf Application.Run(new Main());
, aber die Spitze des Stacktrace sieht wie folgt aus:
at System.Drawing.Image.get_Width() at System.Drawing.Image.get_Size()
at System.Windows.Forms.PictureBox.ImageRectangleFromSizeMode(PictureBoxSizeMode mode)
at System.Windows.Forms.PictureBox.OnPaint(PaintEventArgs pe)
nicht sicher, ob dies relevant ist, aber das ParamName
Attribut des Ausnahme ist null. Ich habe versucht, die Bildzuweisung in einen try ... catch-Block zu schreiben, aber das hat nicht geholfen. Ich habe auch überprüft, um sicherzustellen, dass das Bild vor der Zuweisung nicht null ist. Ich habe auch nach nicht-null, aber 0x0 großen Bildern gesucht.
Was habe ich falsch gemacht? Kann jemand einen Workaround vorschlagen?
Was ist die Nachricht in der Ausnahme? –
@DavidNelson gute Frage: "Parameter ist nicht gültig." –
Was ist die Höhe und Breite von eventArgs.Frame, wenn Sie es einstellen? –