// start the web camera public void StartWebCam() { byte[] lpszName = new byte[100]; byte[] lpszVer = new byte[100]; showVideo.capGetDriverDescriptionA(0, lpszName, 100, lpszVer, 100); this.lwndC = showVideo.capCreateCaptureWindowA(lpszName, showVideo.WS_VISIBLE | showVideo.WS_CHILD, 0, 0, 640, 480, mControlPtr, 0); if (this.capDriverConnect(this.lwndC, 0)) { this.capPreviewRate(this.lwndC, 5); this.capPreview(this.lwndC, true); showVideo.bitmapinfo bitmapinfo = new showVideo.bitmapinfo(); bitmapinfo.bmiHeader.biSize = showVideo.SizeOf(bitmapinfo.bmiHeader); bitmapinfo.bmiHeader.biWidth = 640; bitmapinfo.bmiHeader.biHeight = 480; bitmapinfo.bmiHeader.biPlanes = 1; bitmapinfo.bmiHeader.biBitCount = 24; bool ss = this.capSetVideoFormat(this.lwndC, ref bitmapinfo, showVideo.SizeOf(bitmapinfo)); this.mFrameEventHandler = new showVideo.FrameEventHandler(framecallback); bool ss2 = this.capSetCallbackOnFrame(this.lwndC, this.mFrameEventHandler); //showVideo.SetWindowPos(this.lwndC, 0, 0, 0, mWidth, mHeight, 6); } }
private bool capSetVideoFormat(IntPtr hCapWnd, ref showVideo.bitmapinfo BmpFormat, int CapFormatSize) { return(showVideo.SendMessage(hCapWnd, showVideo.WM_CAP_SET_VIDEOFORMAT, CapFormatSize, ref BmpFormat)); }