Я создал приложение Visual Basi c. NET, которое делает снимок экрана каждую секунду и сохраняет его в файл screenshot.jpg
И я также создал сервер, который обслуживает файл screenshot.jpg
каждую секунду. Но проблема в том, что иногда я вижу половину картинки (возможно, потому что она еще не закончила рисовать). Есть ли способ обойти эту проблему? Интересно, как веб-камеры предлагают этот гладкий поток? Означает ли это, что моя программа захвата скриншотов работает слишком медленно?
Вот мое приложение
' Take screenshot every second
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
Dim bmp As Bitmap = ScreenCap()
bmp.Save(Application.StartupPath & "\screenshot.jpg", System.Drawing.Imaging.ImageFormat.Jpeg)
bmp.Dispose()
End Sub
Вы можете увидеть полный проект на Github: https://git.io/Jv4TL
А вот код переднего конца
<html>
<body>
<img class="screenshot" src="screenshot.jpg">
<script>
setInterval(() => {
document.querySelector('.screenshot').src =
'screenshot.jpg?id=' + Math.random(0, 1000)
}, 1000)
</script>
</body>
</html>