Compartilhar via


atributo VIDEO_ZOOM_RECT

Especifica o retângulo de origem para o mixer de vídeo do EVR ( Renderizador de Vídeo Avançado ). O retângulo de origem é a parte do quadro de vídeo que o mixer corta para a superfície de destino.

Tipo de dados

Matriz de bytes

Comentários

O valor desse atributo é uma estrutura MFVideoNormalizedRect .

O retângulo de origem é definido em relação a um sistema de coordenadas normalizado, no qual todo o quadro de vídeo ocupa um retângulo com coordenadas {0, 0, 1, 1}. O retângulo de origem deve caber dentro do quadro de vídeo; as coordenadas do retângulo de origem têm um intervalo de (0...1).

O apresentador EVR padrão define esse atributo no mixer. Para definir o atributo, faça o seguinte:

  1. Chame IMFTransform::GetAttributes no mixer para obter o repositório de atributos do mixer.
  2. Chame IMFAttributes::SetBlob para definir o atributo VIDEO_ZOOM_RECT no mixer. O valor é uma estrutura MFVideoNormalizedRect .

Em um apresentador EVR personalizado, você pode usar esse atributo para implementar o método IMFVideoDisplayControl::SetVideoPosition . Para obter mais informações, consulte Retângulos de origem e destino.

A constante GUID para esse atributo é exportada de strmiids.lib.

Exemplos

O exemplo a seguir define o retângulo de origem no mixer.

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;
}

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2008 [somente aplicativos da área de trabalho]
Cabeçalho
Evr.h

Confira também

Lista alfabética de atributos da Media Foundation

Atributos avançados do renderizador de vídeo

Como escrever um apresentador de EVR

IMFAttributes::GetBlob

IMFAttributes::SetBlob