capCreateCaptureWindowA调用后panel里只有全黑没有任何图片,已经测试过射像头是好的应该怎么改?

解决方案 »

  1.   

    把panel调大点试试,看看有没有弹出选项框
      

  2.   


    Private hWndC As IntPtr
    '
    hWndC = capCreateCaptureWindowA(lpszName, WS_CHILD Or WS_VISIBLE, mLeft, mTop, mWidth, mHeight, Picture1.Handle, 0)
                If hWndC.ToInt32() <> 0 Then
                    SendMessage(hWndC, WM_CAP_SET_CALLBACK_VIDEOSTREAM, 0, 0)
                    SendMessage(hWndC, WM_CAP_SET_CALLBACK_ERROR, 0, 0)
                    SendMessage(hWndC, WM_CAP_SET_CALLBACK_STATUSA, 0, 0)
                    SendMessage(hWndC, WM_CAP_DRIVER_CONNECT, 0, 0)
                    SendMessage(hWndC, WM_CAP_SET_SCALE, 1, 0)
                    SendMessage(hWndC, WM_CAP_SET_PREVIEWRATE, 66, 0)
                    SendMessage(hWndC, WM_CAP_SET_OVERLAY, 1, 0)
                    SendMessage(hWndC, WM_CAP_SET_PREVIEW, 1, 0)
                End IfSIGNATURE:----------------------------------------------------------------
      

  3.   

      /// <summary>
            /// 打开摄像头
            /// </summary>
            public void StartWebCam()
            {
                byte[] lpszName = new byte[100];
                byte[] lpszVer = new byte[100];
                VideoAPI.capGetDriverDescriptionA(0, lpszName, 100, lpszVer, 100);
                lwndC = VideoAPI.capCreateCaptureWindowA(lpszName, VideoAPI.WS_CHILD | VideoAPI.WS_VISIBLE, 0, 0, mWidth, mHeight, mControlPtr, 0);
                if (VideoAPI.SendMessage(lwndC, VideoAPI.WM_CAP_DRIVER_CONNECT, 0, 0))//驱动程序连接
                {
                    VideoAPI.SendMessage(lwndC, VideoAPI.WM_CAP_SET_PREVIEWRATE, 100, 0);//设置预览比例 52
                    VideoAPI.SendMessage(lwndC, VideoAPI.WM_CAP_SET_PREVIEW, true, 0);//设置预览 50
                }
            }
      

  4.   

    我就是这么写的但是panel里永远只有黑色!射像头用windows自带的那个工具测试过有图象