2012-06-13 2 views
0

enter image description hereКак увеличить масштаб изображения в определенной области окна DirectShow?

Я пытаюсь увеличить в область окна DirectShow между Маркер A и B Маркер (Это RangeBar), которые представляют ширину окна видео. Я пробовал использовать SetWindowPosition, но все, что делает, - это перемещение видеоокна вокруг.

Я новичок в DirectShow, пожалуйста, помогите!

Спасибо!

ответ

2

Интерфейс рендеринга IVMRMixerControl можно использовать для увеличения части видео.

Вам необходимо переключить фильтр в режим микширования (перед подключением фильтра), позвонив по номеру IVMRFilterConfig::SetNumberOfStreams (2). Подключите рендерер. Теперь вы можете установить прямоугольник, который хотите показать, с вызовом IVMRMixerControl::SetOutputRect. Вам необходимо указать исправление, которое вы хотите видеть с нормализованными значениями. Это означает, что если вы хотите увеличить масштаб, вы установите {-0.5, -0.5, 1.5, 1.5}, и если вы хотите увеличить масштаб, вы установите {0, 0, 1, 1}.

+0

Большое вам спасибо! Я потратил неделю, пытаясь понять это. Также мне помог этот [пример] (http://social.msdn.microsoft.com/Forums/en-US/windowsdirectshowdevelopment/thread/b54bfa3d-bfd9-4159-a178-1c921ae20f0d). – CharlesBryan

Смежные вопросы