0
我试图放大标记A和标记B(它是一个RangeBar)之间的DirectShow窗口区域,它代表了视频窗口的宽度。 我试过使用SetWindowPosition,但所做的只是移动视频窗口。
我是新来的DirectShow,请帮忙!
谢谢!
我试图放大标记A和标记B(它是一个RangeBar)之间的DirectShow窗口区域,它代表了视频窗口的宽度。 我试过使用SetWindowPosition,但所做的只是移动视频窗口。
我是新来的DirectShow,请帮忙!
谢谢!
您可以使用渲染器的IVMRMixerControl
界面放大到视频的一部分。
你需要切换过滤器“混合模式”,通过调用IVMRFilterConfig::SetNumberOfStreams
(你连接过滤器前)(2)。连接渲染器。现在您可以通过拨打IVMRMixerControl::SetOutputRect
来设置您想要显示的矩形。你需要提供你想看到的正规化值。这意味着,如果你想放大,你将设置{-0.5, -0.5, 1.5, 1.5}
,如果你想放大,你会设置{0, 0, 1, 1}
。
非常感谢!我花了一个星期的时间试图弄清楚。此外,[示例](http://social.msdn.microsoft.com/Forums/en-US/windowsdirectshowdevelopment/thread/b54bfa3d-bfd9-4159-a178-1c921ae20f0d)也帮助我。 – CharlesBryan