这个程序是基于IP的监控视频的调取。
wc = new Camera(panelPreview.Handle, panelPreview.Width, panelPreview.Height, panelPreview.Left, panelPreview.Top);
wc.StartCamera();
将视频的图像切割成一个个人物图片并写入库:
PictureBox[] p = new PictureBox[count];
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Win_renlian\Win_renlian\bin\Debug\Camer.mdb"); //定义数据库连接对象
for (int i = 0; i <= count / 8; i++)
{
for (int j = 0; j < wt; j++)
{
if (i * 8 + j <= count - 1)
{
p[i * 8 + j] = new PictureBox();
p[i * 8 + j].Image = Image.FromFile("办公室" + datestr + (i * 8 + j + 1).ToString() + ".jpg");
p[i * 8 + j].SizeMode = PictureBoxSizeMode.StretchImage;
p[i * 8 + j].Width = this.pictureBox2.Width; p[i * 8 + j].Height = this.pictureBox2.Height;
p[i * 8 + j].Left = j * p[i * 8 + j].Width + 2; p[i * 8 + j].Top = i * p[i * 8+ j].Height + 2;
p[i * 8 + j].Visible = true;
this.tabPage2.Controls.Add(p[i * 8 + j]);
string path = "办公室" + datestr + (i * 8 + j + 1).ToString() + ".jpg";
string sql = "insert into t_record(hjm,rectime,photo) values('813',#" + DateTime.Now +"'#,'" + path + ")"; //构造sql语句
OleDbCommand cmd = new OleDbCommand(sql, con); //定义Command对象
con.Open(); //打开数据库连接
cmd.ExecuteNonQuery(); //执行Command命令
con.Close(); //关闭数据库连接
}
}
将监控的动态图像放入到程序的panel对象中
wc = new Camera(panel1.Handle, 500, 500, 100, 100);
这是程序的关键部分,源码