本篇目标:将捕获的视频抓拍为图片保存为JPG文件

1)添加EDIT控件,绑定变量为CString m_Barcode,作为要保存的文件名称

2)添加一按钮控件,其click事件内容如下

判断是否输入了文件名称

UpdateData();
 if(m_Barcode == "")
 {
  AfxMessageBox(_T("Please input Barcode!"));
  return;
 }

通过一个新的函数SaveCapPicture来执行保存抓拍工作,先将如下代码在按钮敲击事件中补全

if(!SaveCapPicture())
 {
  CString strMsg;
  strMsg.Format(_T("Save picture error!\r\nErrcode:%d"),GetLastError());
  AfxMessageBox(strMsg);
  return;
 }
  m_Barcode = "";
 UpdateData(FALSE);

 3)添加函数SaveCapPicture

在test1Dlg.h中添加私有函数

private:BOOL SaveCapPicture(void);

在test1Dlg.cpp中添加函数内容

BOOL Ctest1Dlg::SaveCapPicture(void)

{

 CString strName;
 strName.Format(_T("%s.jpg"),m_Barcode);
  return capFileSaveDIB(m_hWndVideo,strName.GetBuffer(strName.GetLength()));

}

总结:本篇使用 capFileSaveDIB实现将抓拍的视频以文件方式存储