我制作了一个简单的Windows窗体应用程序,它有一个图片框,可以在表单加载时开始捕获。喜欢这个
private void Form1_Load(object sender, EventArgs e)
{
webcam = new FilterInfoCollection(FilterCategory.VideoInputDevice);
foreach(FilterInfo VideoCaptureDevice in webcam)
{
cameraList.Items.Add(VideoCaptureDevice.Name);
}
cameraList.SelectedIndex = 0;
cam = new VideoCaptureDevice(webcam[cameraList.SelectedIndex].MonikerString);
cam.NewFrame += new NewFrameEventHandler(cam_NewFrame);
cam.Start();
}
private void cam_NewFrame(object sender, NewFrameEventArgs eventArgs)
{
Bitmap bit = (Bitmap)eventArgs.Frame.Clone();
pictureBox1.Image = bit;
}
我希望它每5秒后自动保存图像。 我在计时器点击代码中放了一个计时器,我试图像这样保存。
private void timer1_Tick(object sender, EventArgs e)
{
pictureBox1.Image.Save(@"C:\Users\Noshair\Desktop\Images\" + "my.jpg");
}
但是当应用程序启动时,它会在此Image.Save行上出错 如果在按钮单击中写入相同的代码,则它可以正常工作并保存图像。
{"对象引用未设置为对象的实例。"}
答案 0 :(得分:-2)
有些东西适合我。
try
{
pb.Image.Save(location + time.ToString() + ".jpg");
}
catch (NullReferenceException ex)
{
ex.ToString();
}
我刚刚使用了try catch异常并且在catch中我什么也没做,所以错误可能仍然存在,但它没有打扰或停止我的应用程序并成功保存图像。