C# 火灾窗体模式识别,用户界面化
终于完成了初步的C# 界面的编程,过来写一下过程吧1、C#新项目-控件的添加具体情况参考我的另一片。地址:c# 窗体介绍2、控件的说明这是我制作的图样 左上角是视频播放器控件、右侧两个框是图片控件 右下角是启动的按钮。四个按钮左面是选择具体的方法3、实现的对应逻辑1、视频播放控件,当点击打开文件的时候选择需要检测的视频,并且显示到控件中,同时为了达到检测美观的程度,当实现检测的时候,将
·
终于完成了初步的C# 界面的编程,过来写一下过程吧
1、C#新项目-控件的添加
具体情况参考我的另一片。地址:c# 窗体介绍
2、控件的说明
这是我制作的图样
左上角是视频播放器控件、右侧两个框是图片控件
右下角是启动的按钮。四个按钮左面是选择具体的方法
3、实现的对应逻辑
1、视频播放控件,当点击打开文件的时候选择需要检测的视频,并且显示到控件中,同时为了达到检测美观的程度,当实现检测的时候,将播放器下面的控制条给去掉。
2、图片控件:当点击检测程序的时候,将读取检测程序保存下来的图片结果,对文件夹下的所有图片进行遍历,显示到图片控件中。
3、打开目录:点击后进行选择要检测的视频,并且将此路径交给"开始检测"。
4、选择对应的方法进行检测。选择后交个开始检测步骤。
5、开始检测:点击开始检测后,执行检测程序的.exe文件,并且读取可执行文件产生的图片结果,放映到图片控件中。
6、暂停:点击后 ,暂停播放和暂停检测;
7、停止:点击后停止检测;
4 相关代码
4.1 打开目录
//打开目录,选择检测视频文件
private void button1_Click(object sender, EventArgs e)
{
//FolderBrowserDialog folderDlg = new FolderBrowserDialog();
// folderDlg.ShowDialog();
// textBox1.Text = "" + folderDlg.SelectedPath;
//axWindowsMediaPlayer1.URL = "" + folderDlg.SelectedPath+"/2111.mp4";
//OpenFileDialog open = new OpenFileDialog();
// open.Filter = "(mp3,wav,mp4,mov,wmv,mpg)|*.mp3;*.wav;*.mp4;*.mov;*.wmv;*.mpg|all files|*.*";
// textBox1.Text = "" + open.FileName;
// axWindowsMediaPlayer1.URL = "" + open.FileName;
//axWindowsMediaPlayer1.URL = @textBox1.Text+"/119.avi";
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter = "媒体文件(所有类型)|*.mp3;*.mpeg;*.wma;*.wmv;*.wav;*.avi";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
axWindowsMediaPlayer1.URL = openFileDialog1.FileName;
axWindowsMediaPlayer1.Ctlcontrols.pause();
// button3_Click( sender, e);
// 将路径参数赋值给 status,在开始检测环节向可执行文件赋值。
status = openFileDialog1.FileName;
//axWindowsMediaPlayer1.Ctlcontrols.pause();
}
//
}
4.2 开始检测
//检测代码的实现
private void button2_Click(object sender, EventArgs e)
{
//C:\Users\Administrator\Documents\Visual Studio 2013\Projects\Motion_Detection\Debug
//执行可执行文件,并且乡里面传递参数(选择的视频路径)
System.Diagnostics.Process.Start(@"C:\Users\Administrator\Documents\Visual Studio 2013\Projects\motion\Debug\motion.exe", status);
//选择执行后的 检测结果目录
String dir1 = @"C:\\Users\\Administrator\\color\\";
/*files = Directory.GetDirectories(@"C:\\Users\\Administrator\\image\\");
for (int i = 0; i < Directory.GetDirectories(path).Count(); i++)
{
Console.WriteLine(aa[i]);
}*/
// DirectoryInfo di = new DirectoryInfo(dir);
//FileInfo[] arrFi = di.GetFiles("*.jpg*");
//SortAsFileName(ref arrFi);
pic = Directory.GetFiles(dir, "*.jpg");
color = Directory.GetFiles(dir1, "*.jpg");
//要注意一点的是 排序是按照0、1、10、100、11、。。。不是按照0.1.2.3这种方式
//DirectoryInfo dirinfo = new DirectoryInfo(dir);
//FileInfo[] sortList = dirinfo.GetFiles(".jpg");
// Array.Sort(sortList, new MyDateSorter());
// foreach (FileInfo item in sortList)
// {
//System.Console.WriteLine(item.FullName);
//Response.Write(item.FullName + "<br" + " />");
// }
//color = Directory.GetFiles(dir1).Where(x => x.EndsWith(".jpg", StringComparison.OrdinalIgnoreCase) | x.EndsWith(".bmp", StringComparison.OrdinalIgnoreCase)).ToArray();
// IEnumerable<String> query = pic.OrderBy(x => x);
// foreach (String item in query)
// {
// Console.Out.Write(item);
//Response.Write(item.FullName + "<br" + " />");
// }
// pic.OrderBy(ss => new FileInfo(ss).CreationTime);
//color.OrderBy(ss => new FileInfo(ss).DirectoryName);
axWindowsMediaPlayer1.Ctlcontrols.play();
timer1.Start();
}
//编写
暂停 和 停止 就比较简单了 就是操作定时器进行遍历 以及 操作一下播放器就可以了。这个我就直接上传一份源代码 吧
完成以上工作,总的界面信息总算是完成了。接下来继续完善的更丰富一些吧。继续加油。
更多推荐
已为社区贡献4条内容
所有评论(0)