Mic*_*rtz 1 vb.net time image date save
我正在使用网络摄像头处理安全摄像头应用程序,该网络摄像头每x个用户选择的ms都会拍摄一张照片.(默认为2000毫秒,或2秒)目前,文件默认存储在用户的硬盘上.
我想要做的不是将其保存为1.bmp,2.bmp,3.bmp等:但是对于日期和时间,例如."Jul 03 12:14:53.bmp"使用它 - DateTime.Now.ToString("MMM dd hh:mm:ss")
但显然我没有运气,并继续得到错误.所以这是我的代码之前我得到所有这些错误,任何帮助将不胜感激.谢谢!
Dim frame As Integer
Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
frame += 1
Dim r As RECT = New RECT()
GetWindowRect(hWnd, r)
Dim cWidth As Integer = r.right - r.left
Dim cHeight As Integer = r.bottom - r.top
Dim bmp As Bitmap = New Bitmap(cWidth, cHeight)
Dim gfx As Graphics = Graphics.FromImage(bmp)
Dim gHdc As IntPtr = gfx.GetHdc()
'refresh the image
SendMessage(hWnd, WM_CAP_GRAB_FRAME, IntPtr.Zero, IntPtr.Zero)
PrintWindow(hWnd, gHdc, 0)
gfx.ReleaseHdc(gHdc)
gfx.Dispose()
bmp.Save("photos-taken\" & frame & ".bmp")
bmp.Dispose()
End Sub
Private Sub RecordToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RecordToolStripMenuItem.Click
If Not Directory.Exists("photos-taken") Then
Directory.CreateDirectory("photos-taken")
End If
If RecordToolStripMenuItem.Checked = False Then
RecordToolStripMenuItem.Checked = True
frame = 0
Timer2.Interval = 2000
Timer2.Start()
Else
RecordToolStripMenuItem.Checked = False
frame = 0
Timer2.Stop()
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
bmp.Save("photos-taken\" & DateTime.Now.ToString("yyyy-MM-dd_HHmmss") & ".bmp")
Run Code Online (Sandbox Code Playgroud)
您可以替换任何有效文件名的日期格式(即不/
,\
或:
),也可以使用yyyyMMddHHmmss按顺序按名称对文件进行排序.