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 试试