我设法将我的.net DLL包与DirectShow.net连接,以便将图像捕获到vb6中。
.net DLL包含DirectShow.net库中提供的dxSnap示例的函数,适用于.net应用程序。我添加了Interop函数,VB6识别函数并在返回类型函数上正常工作。
有一个从设备获取流并将其附加到控件的功能,但是在传递图片框时遇到类型不匹配错误,并在传递LEAD视频控件时出现溢出错误。
有没有更好的方法将流引入vb6应用程序?
答案 0 :(得分:1)
“更好的方法”是在托管代码中用VB.Net编写应用程序:)
答案 1 :(得分:1)
DirectShow通常需要一个窗口句柄来绘制,因此您可以使用IntPtr
变量类型将PictureBox.hWnd传递给您的一个.NET函数。
如果您需要自己重新生成图像数据,COM Interop应该处理将Image / Bitmap对象转换为VB6的COM StdPicture对象,或者您可以传递包含打包DIB或类似对象的字节数组。