问题描述
代码是这样的。。publicForm1(){InitializeComponent();}//声明视频类cVideovideo;//打开视频privatevoidbutton1_Click(objectsender,EventArgse){btnPlay.Enabled=false;btnStop.Enabled=true;btnPz.Enabled=true;video=newcVideo(pictureBox1.Handle,pictureBox1.Width,pictureBox1.Height);video.StartWebCam();}privatevoidForm1_Load(objectsender,EventArgse){btnPlay.Enabled=false;btnStop.Enabled=true;btnPz.Enabled=true;video=newcVideo(pictureBox1.Handle,pictureBox1.Width,pictureBox1.Height);video.StartWebCam();}//关闭视频privatevoidb_stop_Click(objectsender,EventArgse){btnPlay.Enabled=true;btnStop.Enabled=false;btnPz.Enabled=false;video.CloseWebcam();}//拍照privatevoidbtnPz_Click(objectsender,EventArgse){video.GrabImage(pictureBox1.Handle,"d:\a.bmp");}//退出程序privatevoidbtnExit_Click(objectsender,EventArgse){Application.Exit();}
解决方案
本帖最后由 qq_20075877 于 2015-04-07 11:52:34 编辑
解决方案二:
解决方案三:
解决方案四:
解决方案五:
摄像头不清楚,相机的话一般调曝光时间..............
解决方案六:
这个得去看看cVideo怎么实现的吧。
解决方案七:
这个得看cVideo怎么实现的吧
解决方案八:
LZ的问题是这样的..二次打开..,.......我理解下是不是第一次打开视频可以,拍照可以,都正常使用.这个时候我点击了关闭..然后在点击打开..这个时候没有异常也没有报错就是没图像..?如果是这样就应该是底层DLL(应该是非托管DLLIMPORT进来的吧)的问题.因为已经实例化了或者说已经把句柄给了pic1,不能重新实例化?反正肯定是没有得到及时释放的问题吧..以前遇到过这边改不了的...
解决方案九:
//打开视频privatevoidbutton1_Click(objectsender,EventArgse){video.CloseWebcam();btnPlay.Enabled=false;btnStop.Enabled=true;btnPz.Enabled=true;video=newcVideo(pictureBox1.Handle,pictureBox1.Width,pictureBox1.Height);video.StartWebCam();}privatevoidForm1_Load(objectsender,EventArgse){btnPlay.Enabled=false;btnStop.Enabled=true;btnPz.Enabled=true;video=newcVideo(pictureBox1.Handle,pictureBox1.Width,pictureBox1.Height);video.StartWebCam();}
要么一加载就打开。。。要么按下按钮后关闭了再打开。。。