
| 语言: | Visual C++ |
| 版本: | 3.0.3 |
| 发布于: | 2005年4月7日 |
| 作者: | IC Imaging Control 技术支持部 |
| 系统要求: | IC Imaging Control >2.1 由WDM数据流类驱动程序驱动的相机、视频转换器或图像采集卡 |
| |
示例程序窗口如下图所示:

首先创建一个基于MFC对话框的应用程序。 而后,新建4个按钮,分别用于开启视频捕捉设备,显示IC Imaging Control内置的属性设置对话框,保存设备属性,以及从.xml文件中载入设备属性。
创建一个Grabber类的实例,作为对话框类的成员。
DShowLib::Grabber m_cGrabber; // The instance of the Grabber class.
在"Device"按钮事件处理程序中,选择一个视频捕捉设备。 首先,在调用IC Imaging Control 内置的 "Device Selection" 对话框前,检验当前的 Grabber 对象是否已经含有一个正在运行的视频设备。 通过Grabber::showDevicePage()调用"Device Settings"对话框。 离开"Device Settings"对话框后,检测是否已经选择了一台有效的视频捕捉设备。 如果设备有效,则通过调用Grabber::startLive()开始视频图像。
void CSaveRestorePropertiesDlg::OnBnClickedDevice() { if(m_cGrabber.isDevValid() && m_cGrabber.isLive()) { m_cGrabber.stopLive(); } m_cGrabber.showDevicePage(this->m_hWnd); if(m_cGrabber.isDevValid()) { m_cGrabber.startLive(); } }
"Properties"按钮事件处理程序通过调用 Grabber::showVCDPropertyPage()显示内置的设备属性设置对话框:
void CSaveRestorePropertiesDlg::OnBnClickedProperties() { if( m_cGrabber.isDevValid()) { m_cGrabber.showVCDPropertyPage(this->m_hWnd); } }
方法Grabber::saveDeviceStateToFile()将当前设备的设置和属性保存至一个XML文件中:
void CSaveRestorePropertiesDlg::OnBnClickedSave() { if( m_cGrabber.isDevValid()) { m_cGrabber.saveDeviceStateToFile("device.xml"); } }
方法Grabber::loadDeviceStateFromFile从一个XML文件中重新载入设备及其属性。 对于设备选择对话框,有必要在开启一台新视频设备前停止正在播放的视频。 如果载入了一台有效的视频设备,通过Grabber.startLive()开启图象数据流:
void CSaveRestorePropertiesDlg::OnBnClickedRestore() { if(m_cGrabber.isDevValid() && m_cGrabber.isLive()) { m_cGrabber.stopLive(); } if( m_cGrabber.loadDeviceStateFromFile( "device.xml")) { if( m_cGrabber.isDevValid()) m_cGrabber.startLive(); } }
责任声明
IC Imaging Control 源代码库中的所有代码均只用于教学目的,The Imaging Source Europe GmbH 作为IC Imaging Control的开发制造商,不对任何由于使用本文或其中源代码所产生的后果承担责任。