// 1.头文件声明
// 头文件中要包含下面的内容,并且保障vfw32.lib在程序目录下
#include
#pragma comment(lib,"vfw32.lib")
// 视频设备(摄像头)获取和初始化的代码片段
//2. 定义类成员变量
// 类成员中定义的变量
HWND hCaptureWindow;
CButton m_CaptureRgn; // groupbox对应的变量怎么是CButton,很奇怪
// 3.视频设备(摄像头)获取和初始化代码
RECT cwRect;
CAPDRIVERCAPS cps;
// m_CaptureRgn是预先定义的显示视频的控件(groupbox)
m_CaptureRgn.GetClientRect(&cwRect);
cwRect.right = cwRect.left+6400;
cwRect.bottom = cwRect.top+480;
if(hCaptureWindow)
{
capPreview(hCaptureWindow,FALSE);
capDriverDisconnect(hCaptureWindow);
}
hCaptureWindow = capCreateCaptureWindow("视频窗口",WS_CHILD|WS_VISIBLE,cwRect.left,cwRect.top,cwRect.right,cwRect.bottom,hCaptureRgn,(int)1);
ASSERT(hCaptureWindow);
if(!capDriverConnect(hCaptureWindow,0))
{
MessageBox("连接视频输入设备出错!");
return;
}
capDriverGetCaps(hCaptureWindow,&cps,sizeof(CAPDRIVERCAPS));
if(!cps.fCaptureInitialized)
{
MessageBox("视频输入设备初始化出错!");
return;
}
if(cps.fHasDlgVideoSource)
capDlgVideoSource(hCaptureWindow);
if(cps.fHasDlgVideoFormat)
capDlgVideoFormat(hCaptureWindow);
if(cps.fHasDlgVideoDisplay)
capDlgVideoDisplay(hCaptureWindow);
capPreviewRate(hCaptureWindow,20);
capPreview(hCaptureWindow,TRUE);
Invalidate();
//4.说明: 本文是用于我后面写代码的时候参考用的,问题很多.
//请高手手下留情,杜绝人身攻击!