我正在学习C#,并且正在尝试实施网络摄像头图片捕获程序。我正在使用Aforge库,问题是我的图片框未显示网络摄像头图像,并且我不明白为什么。如果有人知道我的错误,请告诉我。先感谢您。
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
using DarrenLee.Media;
namespace test4
{
public partial class MainForm : Form
{
int count = 0;
Camera myCamera = new Camera();
public MainForm()
{
InitializeComponent();
GetInfo();
myCamera.OnFrameArrived += myCamera_OnFrameArrived;
}
private void GetInfo()
{
var cameraDevices = myCamera.GetCameraSources();
var cameraResolutions = myCamera.GetSupportedResolutions();
foreach (var d in cameraDevices)
cmbCameraDevices.Items.Add(d);
foreach (var r in cameraResolutions)
cmbCameraResolutions.Items.Add(r);
cmbCameraDevices.SelectedIndex = 0;
cmbCameraDevices.SelectedIndex = 0;
}
private void myCamera_OnFrameArrived(object source, FrameArrivedEventArgs e)
{
Image img = e.GetFrame();
picCamera.Image = img;
}
void ComboBox1SelectedIndexChanged(object sender, EventArgs e)
{
myCamera.ChangeCamera(cmbCameraDevices.SelectedIndex);
}
void ComboBox2SelectedIndexChanged(object sender, EventArgs e)
{
myCamera.Start(cmbCameraDevices.SelectedIndex);
}
void Form1FormClosing(object sender, FormClosingEventArgs e)
{
myCamera.Stop();
}
void BTTsaveClick(object sender, EventArgs e)
{
string filename = Application.StartupPath + @"\" + "Image" + count.ToString();
myCamera.Capture(filename);
count++;
}
}
}
我编译时的外观图片: https://i.gyazo.com/6956a07405cd4bf5e74c20bc321bd32e.png
我正在将图片框与该行中的内容相连:
图片img = e.GetFrame(); picCamera.Image = img;
答案 0 :(得分:0)
在编写代码之前,请确保单击对象。
示例:单击设计表单中的按钮,然后在单击按钮后将 BTTsaveClick 的代码粘贴到新创建的方法中。
如果使用的是Visual Studio,则可以检查是否引用了这些方法。如果未引用,则意味着将不会读取该代码。