通过自定义用户输入处理在屏幕上播放透明视频

时间:2009-02-21 18:37:25

标签: c++ windows directx transparency

我需要在Windows上的屏幕上播放动画角色。基本上,它将是具有透明度的角色视频,并且只有非透明部分应该能够接受用户输入(例如鼠标点击),所有其他事件应该传递到底层窗口。

我制作了一个简单透明的DirectX窗口,里面有视频。但我不知道如何使这个窗口的部分“透明”用于用户输入。因此,如果我点击该字符,我的应用程序应接受此单击,如果我点击视频的透明部分 - 单击应由底层窗口处理。我该怎么做?

提前致谢。

1 个答案:

答案 0 :(得分:1)

我认为你的意思是Direct Show而不是DirectX?

您可以使用Video Mixing Renderer执行此操作。与任何指导一样,它不是,必然,容易。

首先将视频连接到VMR过滤器 其次,对于动画角色,您需要做的就是构建一个简单的DirectShow推送源过滤器(在DirectShow样本中很好地解释),它提供动画帧。 第三,您需要创建一个IVMRImageCompositor类。然后,您可以使用DirectX来合成图像。