我可以在WPF中创建运动着色像素着色器吗?

时间:2013-07-18 14:00:34

标签: wpf motion-detection pixel-shader

我在屏幕上播放了一些线条。是否可以创建一个像素着色器(用于WPF),将新彩色像素转换为特定颜色N毫秒?

这样,当线条不经常移动且用户并不总是在看屏幕时,可以向用户显示屏幕上的移动。

1 个答案:

答案 0 :(得分:0)

您可以使用DirectShow。它是用非托管代码编写的,因此您需要使用此包装器DirectShow.NET才能在托管环境中运行的C#应用​​程序中使用它(包含样本,即使EVR代表增强型视频渲染器,这意味着很多更好的视频质量)。当你将控制句柄传递给用于设置视频输出的包装器方法时,你需要一个WinForms控件,因为只有从它们中你才能得到你想要的控制句柄。然后,当您需要在WPF应用程序中使用某些WinForms控件时,WinForms控件可以使用为此类情况提供的WindowsFormsHost控件在您的WPF应用程序中进行托管。它只是理论,所以我不知道它是否是你的终极解决方案。

BTW:整个想法都是基于事实,DirectShow只是一些由分离的过滤器构成的查询。渲染器是一个过滤器(EVR,VMR-7,VMR-9)。声音播放器是一个过滤器。它们通过引脚连接。它就像一张图。电子图式或类似的东西。你可以在那里加上Grey scale过滤器。瞧,视频输出将是灰度级的。有一堆教程。并完成了简单的过滤器。不幸的是,过滤器必须用C ++编写:(

PS:我从来没有说过这会很容易:D