1

我一直在使用 DirectShow.NET 与 C# 中的网络摄像头进行交互,到目前为止一切进展顺利。但是,现在我正在尝试设置一种“裁剪”图像的方法(虽然它仍然显示为网络摄像头预览)。

基本上,我试图在 IVideoWindow 对象的顶部显示某种大部分透明的图像。然而,在 C# 中处理透明度远非小菜一碟。

那么,我怎样才能在 IVideoWindow 上叠加一个 Image 对象呢?谢谢!

4

1 回答 1

2

有两种方法可以实现这一点:

  • 使用视频转换过滤器并将混合视频传递给渲染器(即图片+您的叠加层)
  • 或者,使用 VMR 的“mixerbitmap”功能在演示时叠加

DirectShow.NET有一个上面提到的第二个示例:

Samples\VMR9\BitMapMixer BitmapMixer 是如何使用 VMR9 在视频上绘制内容的示例。

那里的另一个样本:

Samples\Players\DxText 一个示例应用程序,展示了如何在数据流上叠加文本字符串。流是从 avi 文件中读取的。

在MSDN 论坛上也讨论过很多次。

于 2011-10-08T20:15:05.663 回答