我正在使用 dshownet(第一次)和 C#。我有一个样本来获取网络摄像头输入并将其显示在表单上。我现在需要使用鼠标在视频流顶部绘制一个矩形。(目的是从那里开始跟踪盒子里的东西)。
听说有一种东西叫VMR。所以我去了 dshownet 样本并浏览了它们。我没有找到任何使用鼠标在视频流上叠加形状的示例。这里有人建议使用colorkey。另一个人说要使用 GDI+ 和鼠标处理。我试图编译 DXLogo 示例,但收到此错误:
错误 1 无法创建抽象类或接口“System.Drawing.Image”的实例 C:\Documents and Settings\TLNA\Desktop\Final Year Project\Libraries\DirectShow library 2\DirectShowSamples-2010-February\Samples\Capture\ DxLogo\Capture.cs 128 32 DxLogo-2008
对于代码部分:
if (fileName.Length > 0)
{
m_Bitmap = new Image(fileName); // error happened here
Rectangle r = new Rectangle(0, 0, m_Bitmap.Width, m_Bitmap.Height);
m_bmdLogo = m_Bitmap.LockBits(r, ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);
}
我知道我必须通过 Bitmap9 接口。但我真的不知道从哪里开始。我应该阅读 Directshow API 文档吗?
顺便说一句,我还有一本书为数字视频和电视编程 Microsoft Directshow。我开始阅读那本书并在几页后停止,因为代码主要是 C++。我应该继续读这本书吗?如何在 C# 中完成某些提到的任务?
关于如何在视频上绘图的任何建议。一些有用的链接(教程)会有所帮助。
非常感谢