Compartir a través de


Método CBaseControlVideo.SetDefaultSourceRect

[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

El SetDefaultSourceRect método establece el rectángulo de vídeo de origen predeterminado (virtual puro). Esto se encuentra en una función miembro interna a la que se llama cuando se restablece el rectángulo de origen.

Sintaxis

virtual HRESULT SetDefaultSourceRect() = 0;

Parámetros

Este método no tiene parámetros.

Valor devuelto

Devuelve un valor HRESULT .

Observaciones

Las clases derivadas deben invalidar esto para restablecer el rectángulo de origen. Se llama desde CBaseControlVideo::SetDefaultSourcePosition.

En el ejemplo siguiente se muestra una implementación de esta función en una clase derivada.

// This is called when you reset the default source rectangle.
HRESULT CVideoText::SetDefaultSourceRect()
{
    VIDEOINFO *pVideoInfo = (VIDEOINFO *) m_pRenderer->m_mtIn.Format();
    BITMAPINFOHEADER *pHeader = HEADER(pVideoInfo);
    RECT SourceRect = {0,0,pHeader->biWidth,pHeader->biHeight};
    m_pRenderer->m_DrawImage.SetSourceRect(&SourceRect);
    return NOERROR;
}

En este ejemplo, CVideoText es una clase derivada de CBaseControlVideo, m_pRenderer contiene un objeto de una clase derivada de CBaseVideoRenderer y el miembro de datos m_DrawImage, definido en la clase derivada, contiene un objeto CDrawImage . El m_mtIn miembro de datos, también definido en la clase derivada, contiene un objeto CMediaType con el tipo de medio del pin de entrada.

Requisitos

Requisito Value
Encabezado
Ctlutil.h (include Streams.h)
Biblioteca
Strmbase.lib (compilaciones comerciales);
Strmbasd.lib (compilaciones de depuración)

Consulte también

CBaseControlVideo (clase)