Поделиться через


Коррекция пропорций

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]

Этот раздел относится к Windows XP с пакетом обновления 2 (SP2) или более поздней версии.

В режиме смешивания VMR масштабирует видео в соответствии с пропорциями. (Исключение: см. раздел Некверное смешение.) Для этого может потребоваться растяжение видео, если предпочтительное соотношение сторон отличается от физического пропорции изображения. Например, формат цифрового видео (DV) составляет 720 x 480 пикселей (3:2), но должен отображаться в пропорциях 4:3.

VMR поддерживает два разных поведения для коррекции пропорций:

  • Настройте горизонтальный или вертикальный размер, чтобы изображение всегда растягивалось и не сужалось. Теперь это поведение по умолчанию.
  • Настройте горизонтальный размер, растягивая или сжимая видео.

Поскольку второе поведение (только по горизонтали) может повлечь за собой сжатие видео, выходное изображение может иметь меньшее разрешение. По этой причине предпочтительнее первое поведение. Например, в случае видео с разрешением 720 x 480 с пропорциями 4:3 по умолчанию создается изображение размером 720 x 550, а по горизонтали — меньшее изображение размером 640 x 480.

VMR-7. Чтобы задать параметр коррекции пропорций, вызовите IVMRMixerControl::SetMixingPrefs. Установите флаг MixerPref_ARAdjustXorY для поведения по умолчанию или снимите этот флаг только для горизонтальной настройки.

VMR-9: чтобы задать параметр коррекции пропорций, вызовите IVMRMixerControl9::SetMixingPrefs. Установите флаг MixerPref9_ARAdjustXorY для поведения по умолчанию или снимите этот флаг только для горизонтальной настройки.

Использование режима смешивания VMR