首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

VFW使用有关问题

2013-07-08 
VFW使用问题void __fastcall TfmGoodsPhotoGet::sbCheckVideoClick(TObject *Sender){bool bVFWFlagint i

VFW使用问题
void __fastcall TfmGoodsPhotoGet::sbCheckVideoClick(TObject *Sender)
{
  bool bVFWFlag;
  int iVFWCount;

  if(!bCheckVideoEnable)
  {//探杆打开
    hWndC = Panel8->Handle;
    //创建捕获窗,其中hWnd为主窗口句柄
    ghWndCap = capCreateCaptureWindow("Capture Window",WS_CHILD|WS_VISIBLE,
                                    0,0,352,298,hWndC,0);

    bVFWFlag = false;
    iVFWCount = 0;
    while((iVFWCount<1000)&&(bVFWFlag==false))
    {
      bVFWFlag = capDriverConnect(ghWndCap,0);
      iVFWCount++;
    }
    if(bVFWFlag==true)
    {
      CAPDRIVERCAPS caps;
      capDriverGetCaps(ghWndCap,sizeof(caps),&caps);
      if(caps.fHasOverlay) capOverlay(ghWndCap,TRUE);

      capPreviewScale(ghWndCap,1);
      capPreviewRate(ghWndCap,1000/24);   //   设置Preview模式的显示速率
      capPreview(ghWndCap,TRUE);   //启动Preview模式
      bCheckVideoEnable = true;
      sbCheckVideo->Caption = "关闭探杆";
      sbCapture->Enabled = true;
   }
  }
  else
  {//探杆关闭
    if(ghWndCap)
    {
      capPreview(ghWndCap,false);
      capCaptureStop(ghWndCap);
      capCaptureAbort(ghWndCap);
      capDriverDisconnect(ghWndCap);
      ::DestroyWindow(ghWndCap);
      ghWndCap=NULL;
      bCheckVideoEnable = false;
      sbCheckVideo->Caption = "打开探杆";
      sbCapture->Enabled = false;
    }
  }
}

程序在笔记本电脑上摄像头图像显示正常,
可是在win7平板电脑上图像会有拖影,特别是摄像头图像画面变化的时候?
是不是平板电脑处理速度慢的问题?
有什么好办法解决?
[解决办法]
爱莫能助啊~~你换一种显示图像的方式试试,不用这种 capPreview,用capOverlay 试试

热点排行