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


атрибут VIDEO_ZOOM_RECT

Задает исходный прямоугольник для видеомиксера расширенного отрисовщика видео (EVR). Исходный прямоугольник — это часть видеокадра, которую микшер щелкает на целевой поверхности.

Тип данных

массив байтов;

Комментарии

Значением этого атрибута является структура MFVideoNormalizedRect .

Исходный прямоугольник определяется относительно нормализованной системы координат, в которой весь видеокадр занимает прямоугольник с координатами {0, 0, 1, 1}. Исходный прямоугольник должен помещаться в видеокадр; Координаты исходного прямоугольника имеют диапазон (0...1).

Стандартный выступающий EVR задает этот атрибут в микшере. Чтобы задать атрибут, сделайте следующее:

  1. Чтобы получить хранилище атрибутов микшера, вызовите imfTransform::GetAttributes .
  2. Вызовите IMFAttributes::SetBlob , чтобы задать атрибут VIDEO_ZOOM_RECT в микшере. Значением является структура MFVideoNormalizedRect .

В настраиваемом докладчике EVR этот атрибут можно использовать для реализации метода IMFVideoDisplayControl::SetVideoPosition . Дополнительные сведения см. в разделе Исходные и целевые прямоугольники.

Константа GUID для этого атрибута экспортируется из strmiids.lib.

Примеры

В следующем примере задается исходный прямоугольник на микшере.

HRESULT SetMixerSourceRect(IMFTransform *pMixer, const MFVideoNormalizedRect& nrcSource)
{
    if (pMixer == NULL)
    {
        return E_POINTER;
    }

    IMFAttributes *pAttributes = NULL;

    HRESULT hr = pMixer->GetAttributes(&pAttributes);
    if (SUCCEEDED(hr))
    {
        hr = pAttributes->SetBlob(VIDEO_ZOOM_RECT, (const UINT8*)&nrcSource, sizeof(nrcSource));
        pAttributes->Release();
    }
    return hr;
}

Требования

Требование Значение
Минимальная версия клиента
Windows Vista [только классические приложения]
Минимальная версия сервера
Windows Server 2008 [только классические приложения]
Заголовок
Evr.h

См. также раздел

Алфавитный список атрибутов Media Foundation

Расширенные атрибуты отрисовщика видео

Как написать докладчика EVR

IMFAttributes::GetBlob

IMFAttributes::SetBlob