Hallo
ich lese von mehreren Kameras jeweils 50 Bilder pro Sekunde ein, füge Text und Grafik hinzu und speichere das Bild dann
Das Problem ist, dass sporadisch der Speichervorgang noch nicht abgeschlossen ist, wenn das nächste Bild ankommt, d.h. es gehen Bilder verloren.
Wie mache ich den Speichervorgang asynchron, so dass der Loop nicht bei img.save hängen bleibt?
Danke für Eure Hilfe
ich lese von mehreren Kameras jeweils 50 Bilder pro Sekunde ein, füge Text und Grafik hinzu und speichere das Bild dann
VB.NET-Quellcode
- Public Class Steuerpanel
- Shared ThreadForm1 As New Threading.Thread(AddressOf RunForm1)
- Private Shared Sub RunForm1()
- Dim frm As New FormBild
- frm.Name = "Form1" : frm.Left = 0 : frm.Top = 0
- Application.Run(frm)
- End Sub
- End Class
- Public Class FormBild
- Private Sub SyncLoop(...)
- Do
- WaitForSingleObject(hEv, 50)
- Dim img As Image = GetImageFromCam(...)
- [insert text + Grafik]
- img.save(Filename)
- Loop While hEv <> 0
- End Sub
- End Class
Das Problem ist, dass sporadisch der Speichervorgang noch nicht abgeschlossen ist, wenn das nächste Bild ankommt, d.h. es gehen Bilder verloren.
Wie mache ich den Speichervorgang asynchron, so dass der Loop nicht bei img.save hängen bleibt?
Danke für Eure Hilfe