当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

    摘要: 求教hashmap,什么是hashmap,有什么用,及其用法, ......
    摘要: 小弟最近在做個項目﹐中間要用到javamail編程﹐向局域網內的exchange服務器發送郵件﹐但怎么也調試不通﹐調試信息顯示與exchange服務器連接正常﹐用戶密碼確認也正常﹐信好像是發出去了﹐但總是收不到。 但在局域網中用outlook一切都很正常﹐懷疑是程序問題﹐換用了foxmail也只能收不能發送郵件﹐也沒有出現任何錯誤提示。另外﹐本人的局域網中沒有設置dns服務器﹐是不是這個原......


如何使我的程序抓取网眼摄下的图像

本人欲将两个摄像头(WEBEYE   V2000)摄下的内容显示到窗体的两个IMAGE组件上。  
  对于一个摄像头,目前采用的方法是:  
  1.       WinExec("C:\\WINNT\\vidcap32.exe",SW_HIDE);//在后台打开window自带的    
  摄像软件,该软件可以用热键ctrl+c复制图像。  
  2.       HCAP1=FindWindow("vidcapapp","vidcap");//找到摄像软件窗口句柄  
  3.       SetForegroundWindow(HCAP1);//设置此软件到前台  
  4.       keybd_event(VK_CONTROL,MapVirtualKey      
                  (VK_CONTROL,0),KEYEVENTF_EXTENDEDKEY   |   0,0);  
            keybd_event(VkKeyScan(c),0,0,0);  
            keybd_event(VkKeyScan(c),0,KEYEVENTF_KEYUP,0);  
            keybd_event(VK_CONTROL,MapVirtualKey  
                  (VK_CONTROL,0),KEYEVENTF_EXTENDEDKEY   |   KEYEVENTF_KEYUP,0);  
            //虚拟键入ctrl+c,复制当前时刻图像到剪切板  
  5.       Image1->Picture->Assign(Clipboard());//将图像粘贴到IMAGE中  
   
  程序不让用户见到和操作摄像软件。  
  这种实现方法存在三个缺陷:  
  1.       打开摄像软件必须等待其完全打开  
  2.       摄像软件在后台,所以不会刷新,每次抓取必须重起摄像软件。  
  前两个倒还可以勉强  
  3.       当使用两个摄像头时本人不知道如何在程序中让摄像软件自动选择设备。  
   
  问题:  
  1.       如果仍使用此方法,如何解决缺陷3?  
  2.       最好能实现直接操作摄像头。  
            使用什么控件显示图像,用什么函数,如何获取摄像头的设备ID?  
   
   
 

NO.1   作者: dodog

我正在做这个东西,用API函数可以解决问题:  
  向创建一个窗口:  
  hWndC   =   capCreateCaptureWindow   (  
          (LPSTR)   "My   Capture   Window",   //   window   name   if   pop-up    
          WS_CHILD   |   WS_VISIBLE,               //   window   style    
          0,   0,   160,   120,                             //   window   position   and   dimensions  
          (HWND)   hwndParent,    
          (int)   nID   /*   child   ID   */);    
     
  在连接设备:  
  capDriverDisconnect   (hWndC);    
  然后就可以预览图片了:  
  capPreviewRate(hWndC,   66);           //   rate,   in   milliseconds  
  capPreview(hWndC,   TRUE);               //   starts   preview    
   
  //   Preview  
   
  capPreview(hWnd,   FALSE);                 //   disables   preview    
     
  如果你要保存数据,可以这样做:  
  char   szNewName[]   =   "NEWFILE.AVI";  
   
  //   Set   up   the   capture   operation.  
   
  capCaptureSequence(hWndC);    
   
  //   Capture.  
   
  capFileSaveAs(hWndC,   szNewName);    
     
  如果你想了解更多的,请参看MSDN:平台SDK\Graphics   sand   Multimedia   Services\Video   for   window   \video   capture  
 

NO.2   作者: dodog

to   :   yxdm(杨云天)    
   
   
  注册一个回调函数FrameCallbackProc(HWND   hWnd,   LPVIDEOHDR   lpVHdr)  
  然后在回调函数中用DrawDibDraw函数应该可以实现你要的功能了。


 ·win me下的boot.ini在那    »显示摘要«
    摘要: 我察看了c下的隐藏问件,没有 ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE