AForge.NET是一个专门为开发者和研究者基于C#框架设计的,这个框架提供了不同的类库和关于类库的资源,还有很多应用程序例子,包括计算机视觉与人工智能,图像处理,神经网络,遗传算法,机器学习,机器人等领域。
根据网上的方法,运行程序摄像头出来了,但是怎么截图呢?找到一个显示图片方法如下
- private void video_NewFrame(object sender, NewFrameEventArgs eventArgs)
- {
- Bitmap img = (Bitmap)eventArgs.Frame.Clone();
-
- pictureBox1.Image = img;
- }
开始参考这句代码写了:
- private void video_NewFrame(object sender, NewFrameEventArgs eventArgs)
- {
- Bitmap img = (Bitmap)eventArgs.Frame.Clone();
- string imgPath = dirc + "/" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".jpg";
- img.Save(imgPath);
- }
但是点击截图程序就自动不停截了大量的图片,最后导致程序出问题。想了一个笨方法,可以只截一次图:
- private int flag = 1;
-
-
- private void toolStripButton3_Click(object sender, EventArgs e)
- {
- flag = 0;
- videoSource.NewFrame += new NewFrameEventHandler(video_NewFrame);
- }
- private void video_NewFrame(object sender, NewFrameEventArgs eventArgs)
- {
- Bitmap bitmap = (Bitmap)eventArgs.Frame.Clone();
- if (flag == 0)
- {
- string img = dirc + "/" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".jpg";
- bitmap.Save(img);
- flag = 1;
- }
- }
完整的程序代码如下:
界面效果如下:
|
请发表评论