设为首页 加入收藏

TOP

9.2.3 界面设计(2)
2013-10-07 00:40:49 来源: 作者: 【 】 浏览:53
Tags:9.2.3 界面设计

9.2.3  界面设计(2)

获取视频显示窗口的句柄,根据程序最初枚举到的所有采集设备,选择用户选中的采集设备。调用视频捕获类的成员函数PreviewImages完成整个视频的采集、显示任务。图9-10所示为"视频预览"按钮实现的效果图。

 
(点击查看大图)图9-10  视频预览
双击"视频捕获"按钮,添加事件处理代码。
void CCaptureVideoDlg::OnBnClickedCapture()
{
//TODO: 在此添加控件通知处理程序代码
CString strFilter = _T("AVI File (*.avi) | *.avi|"); //文件类型过滤器
strFilter += "All File (*.*) | *.*|";
CFileDialog dlg(TRUE, NULL, NULL,        //打开另存为文件对话框
OFN_PATHMUSTEXIST|
OFN_HIDEREADONLY, strFilter, this);
if (dlg.DoModal() == IDOK) {
CString m_sourceFile = dlg.GetPathName(); //获取用户输入的文件路径名
m_cap.CaptureImages(m_sourceFile);      //开始捕获、存储视频
}
}
存储捕获的视频,这里采用AVI格式,视频数据未经压缩。调用视频捕获类CCaptureClass的成员函数CaptureImages完成视频的捕获、存储任务。本案例需要先预览视频,然后再开始捕获、存储视频,不能直接捕获、存储视频。双击"视频格式"按钮,添加事件处理代码。
void CCaptureVideoDlg::OnBnClickedVideoFormat()
{
//TODO: 在此添加控件通知处理程序代码
m_cap.ConfigCameraPin(this->m_hWnd);
}
设置视频格式前,首先启动"预览视频",然后再配置视频的格式。视频格式包括帧率、颜色空间、视频分辨率等,该功能的效果如图9-11所示。
 
(点击查看大图)图9-11  视频格式配置属性页
双击"视频参数"按钮,添加事件处理代码。
void CCaptureVideoDlg::OnBnClickedImageParameter()
{
//TODO: 在此添加控件通知处理程序代码
m_cap.ConfigCameraFilter(this->m_hWnd); 
}
设置视频图像参数前,首先启动"预览视频",然后配置图像参数。图像参数包括图像、白平衡、模式控制和去抖动等,该功能的效果如图9-12所示。并且该功能调整的参数马上起作用。
 
(点击查看大图)图9-12  图像参数配置属性页
双击"保存图表"按钮,添加事件处理代码。
void CCaptureVideoDlg::OnBnClickedSavegraph()
{
//TODO: 在此添加控件通知处理程序代码
CFileDialog dlg(TRUE);
if (dlg.DoModal()==IDOK) {
CString str=dlg.GetPathName();       //要保存的Graph文件名
TCHAR *inFileName = str.GetBuffer(str.GetLength());//获取字符串指针
str.ReleaseBuffer();       //切记要释放Buffer
m_cap.SaveGraph(inFileName);        //保存Graph
}
}
本功能存储的Graph文件可以使用程序GraphEdit播放。双击"退出程序"按钮,添加事件处理代码。程序隐含调用了类CCaptureClass的析构函数,释放资源和COM库。
void CCaptureVideoDlg::OnBnClickedExit()
{
//TODO: 在此添加控件通知处理程序代码
CDialog::OnOK();
}

退出本程序时,由于视频捕获类CCaptureClass的析构函数已经包含了释放资源、指针的工作,所以退出应用程序时不用释放任何资源,只是关闭应用程序。

其他工作。

在对话框的初始化OnInitDialog中枚举本系统的视频采集设备,添加到列表框并默认显示第一个设备。

m_cap.EnumDevices(m_listCtrl.GetSafeHwnd());
m_listCtrl.SetCurSel (0);

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇9.3.4 界面设计(1) 下一篇9.2.3 界面设计(1)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: