学院首页>网络编程>ASP.NET>.Net里一个用于驱动摄像头的类

.Net里一个用于驱动摄像头的类

作者: 来源: 添加时间:2006-5-21 19:59:16
mLeft = left;
  mTop = top;
  }

  [DllImport("avicap32.dll")]
  private static extern IntPtr capCreateCaptureWindowA(byte[] lpszWindowName, int dwStyle, int x, int y, int nWidth, int nHeight, IntPtr hWndParent, int nID);
  
  [DllImport("avicap32.dll")]
  private static extern int capGetVideoFormat(IntPtr hWnd, IntPtr psVideoFormat, int wSize );
  [DllImport("User32.dll")]
  private static extern bool SendMessage(IntPtr hWnd, int wMsg, int wParam, long lParam);

  /// <summary>
  /// 开始显示图像
  /// </summary>
  public void Start()
  {
  if (bStat)
  return;
  
  bStat = true;
  byte[] lpszName = new byte[100];
  
  hWndC = capCreateCaptureWindowA(lpszName,WS_CHILD|WS_VISIBLE ,mLeft,mTop,mWidth,mHeight,mControlPtr,0);

  if (hWndC.ToInt32() != 0)
  {
  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);
  }

  return;

  }

  /// <summary>
  /// 停止显示

第 2 页,共 3 页 [1] [2] [3]
站内搜索