我正在使用AForge.Video在我的笔记本电脑中使用相机。但为什么摄像机拍摄的视频没有居中呢?
以下是我的代码:
Dim videoDevices As FilterInfoCollection
Dim videoSource As VideoCaptureDevice
videoDevices = New FilterInfoCollection(FilterCategory.VideoInputDevice)
videoSource = New VideoCaptureDevice(videoDevices(0).MonikerString)
AddHandler videoSource.NewFrame, AddressOf Me.video_NewFrame
Sub video_NewFrame(sender As Object,
eventArgs As NewFrameEventArgs)
Dim bitmap As Bitmap
Try
bitmap = eventArgs.Frame
If Not bitmap Is Nothing Then
PictureBox1.Image = DirectCast(bitmap.Clone(), Bitmap)
PictureBox1.Refresh()
End If
Catch
End Try
End Sub
谢谢!
我不相信我理解你所说的"相机不居中"是什么意思,但我知道最好使用AForge Clone()来获取video_NewFrame事件处理程序中的帧
bitmap = AForge.Imaging.Image.Clone(eventArgs.Frame);
并确保您的PictureBox1 sizemode属性设置为"StretchImage"