【发布时间】:2010-09-19 00:10:28
【问题描述】:
我正在用 C# 编写一个程序来连接网络摄像头并使用它进行一些图像处理。 我有一个使用 win32 api (avicap32.dll) 连接到网络摄像头并向其发送消息以将其发送到剪贴板的工作应用程序。问题是,虽然可以从绘画中访问,但从程序中读取它会导致空指针。
这是我用来连接网络摄像头的代码:
mCapHwnd = capCreateCaptureWindowA("WebCap", 0, 0, 0, 320, 240, 1024, 0);
SendMessage(mCapHwnd, WM_CAP_CONNECT, 0, 0);
SendMessage(mCapHwnd, WM_CAP_SET_PREVIEW, 0, 0);
这就是我用来将图像复制到剪贴板的方法:
SendMessage(mCapHwnd, WM_CAP_GET_FRAME, 0, 0);
SendMessage(mCapHwnd, WM_CAP_COPY, 0, 0);
tempObj = Clipboard.GetDataObject();
tempImg = (System.Drawing.Bitmap)tempObj.GetData(System.Windows.Forms.DataFormats.Bitmap);
我已经从代码中删除了一些错误检查以使其更短。
提前致谢:)
【问题讨论】: