Guten Abend,
ich habe zuletzt aus Spaß ein kleines Programm geschrieben, was per Webcam die Geschwindigkeit vorbeifahrender Autos misst. Es klappt schon sehr gut, allerdings habe ich ein kleines Problem mit der Markierung der zwei Messpunkte.
Das Live-Video wird in einer Picturebox angezeigt. Wenn ich das Programm starte und das Video noch ausgeschaltet ist, funktioniert folgender Code ohne Probleme, um Mausklicks innerhalb der Control aufzunehmen:
Sobald ich jedoch auf "Start Video" drücke, welches den Videostream startet und einen Timer aktiviert, scheint die Picturebox auf meine Klicke nicht mehr zu reagieren!
Auszug aus dem Code für das Holen der Webcambilder:
Habt ihr eine Idee, wie ich während der Live-Video Anzeige in der Picturebox trotzdem Mausklicks darauf registrieren kann, um meine beiden Messpunkte auszuwählen?
Dankeschön schon einmal und sorry für die komischen Code-Auszüge, ich bin kein Fan/Könner von vb.net .
ich habe zuletzt aus Spaß ein kleines Programm geschrieben, was per Webcam die Geschwindigkeit vorbeifahrender Autos misst. Es klappt schon sehr gut, allerdings habe ich ein kleines Problem mit der Markierung der zwei Messpunkte.
Das Live-Video wird in einer Picturebox angezeigt. Wenn ich das Programm starte und das Video noch ausgeschaltet ist, funktioniert folgender Code ohne Probleme, um Mausklicks innerhalb der Control aufzunehmen:
Code:
Private Sub PictureBox1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseClick, PictureBox2.MouseClick
Sobald ich jedoch auf "Start Video" drücke, welches den Videostream startet und einen Timer aktiviert, scheint die Picturebox auf meine Klicke nicht mehr zu reagieren!
Auszug aus dem Code für das Holen der Webcambilder:
Code:
Button 1 Klick:
....
videoHandle = Me.CreateCaptureWindow(PictureBox1.Handle)
Timer1.Interval = 41
Timer1.Enabled = True
Me.SetVideoFormat(Me.PictureBox1.Size)
....
Timer 1 Tick:
..
SendMessage(videoHandle, WM_CAP_EDIT_COPY, 0, 0)
PictureBox2.Image = Clipboard.GetImage
Clipboard.Clear()
' Das Bild aus der Picturebox klonen
Dim Bild As Bitmap = CType(Me.PictureBox2.Image.Clone, Bitmap)
..
Function CreateCaptureWindow(ByRef hWndParent As IntPtr, Optional ByRef x As Short = 0, Optional ByRef y As Short = 0, Optional ByRef nCameraID As Integer = 0) As IntPtr
'Dim previewHandle As IntPtr
previewHandle = capCreateCaptureWindow("Video", WS_CHILD + WS_VISIBLE, x, y, nWidth, nHeight, PictureBox1.Handle, 0)
....
Return previewHandle
End Function
Habt ihr eine Idee, wie ich während der Live-Video Anzeige in der Picturebox trotzdem Mausklicks darauf registrieren kann, um meine beiden Messpunkte auszuwählen?
Dankeschön schon einmal und sorry für die komischen Code-Auszüge, ich bin kein Fan/Könner von vb.net .