VS2010开发MFC ActiveX,摄像头拍照上传Webservice(2)
2020-12-13 02:35
标签:style blog class code java color 继续记录,第二步开发摄像头拍照功能. 使用vfw.h开发摄像头拍照功能,关于vfw网上有很多文章,很多代码可以参考 参考:http://blog.163.com/huangqiao_8/blog/static/33900492008017111847364/ Vedio for Windows 是WIN32 SDK 中多媒体编程SDK 的视频开发工具。在微软的Visual C ++中提供了Vedio
for Windows 的头文件vfw.h 和库文件vfw32.lib。 在ActiveX中显示的Dialog中增加一个picture控件,设置ID为IDC_VIDEO,加入按钮,打开摄像头,拍照等,下面会贴入关键代码: 1.引入vfw.h 2.在对话框的头文件中加入如下变量 3.打开摄像头按钮内的代码 4.vproc方法 static UINT vproc(LPVOID pParam) CViewDialog
*p=(CViewDialog*)pParam; HWND
hwnd=capCreateCaptureWindow(NULL,WS_POPUP,0,0,10,10,0,0); } 5.拍照按钮内的代码 现在可以存出图了,但是bmp格式不常用,下次记录裁剪bmp和转换bmp为jpg. 有一段弯路,图片控件ID默认是IDC_STATIC,开始没有修改初始化时报错因为ID重复,修改后就好了... VS2010开发MFC ActiveX,摄像头拍照上传Webservice(2),搜素材,soscw.com VS2010开发MFC ActiveX,摄像头拍照上传Webservice(2) 标签:style blog class code java color 原文地址:http://www.cnblogs.com/kk1230/p/3718882.html#include
//如果没有引入afxcmn.h,在stdafx.h中添加:
//#include public:
friend UINT vproc(LPVOID pParam);
friend LRESULT CALLBACK backproc(HWND hwnd,LPVIDEOHDR lpVHDR);
private:
HWND videohwnd;
CEvent e;
CStatic CAPVIDEO;
BITMAPINFO *mapinfo;
PBITMAPINFO tran;
//补充下 在对话框的DoDataExchange方法中添加如下代码:
DDX_Control(pDX, IDC_CAPVIDEO, CAPVIDEO);//绑定控件IDC_CAPVIDEO和变量 CRect rc;
CAPVIDEO.GetWindowRect(&rc);
ScreenToClient(rc);
CAPDRIVERCAPS capd;
CAPSTATUS caps;
tran=NULL;
e.ResetEvent();
AfxBeginThread(vproc,(void*)this);
::WaitForSingleObject(e,INFINITE);
if(capDriverConnect(videohwnd,0)==TRUE)
{
capDriverGetCaps(videohwnd,sizeof(CAPDRIVERCAPS),&capd);
capGetStatus(videohwnd,&caps,sizeof(CAPSTATUS));
::SetParent(videohwnd,*this);
::SetWindowLong(videohwnd,GWL_STYLE,WS_CHILD);
::SetWindowPos(videohwnd,NULL,rc.left,rc.top,
rc.Width(),rc.Height(),SWP_NOZORDER);
::ShowWindow(videohwnd,SW_SHOW);
//capPreviewScale(videohwnd, 1);
capPreviewRate(videohwnd,66);
capPreview(videohwnd,true);
}
else
{
AfxMessageBox("创建失败");
}
{
if(hwnd)
{
p->videohwnd=hwnd;
p->e.SetEvent();
}
MSG
Msg;
while(GetMessage(&Msg,NULL,0,0))
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return
Msg.wParam;LPWSTR picUrl=_T("d:/123.bmp");
capFileSaveDIB(videohwnd,picUrl);
文章标题:VS2010开发MFC ActiveX,摄像头拍照上传Webservice(2)
文章链接:http://soscw.com/essay/25899.html