CBaseControlVideo.SetDefaultTargetRect 方法

[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayerIMFMediaEngine媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

方法 SetDefaultTargetRect 将默认目标视频矩形 (纯虚拟) 。 这是重置源矩形时调用的内部成员函数。

语法

virtual HRESULT SetDefaultTargetRect() = 0;

参数

此方法没有任何参数。

返回值

返回 HRESULT 值。

备注

派生类应重写此值以重置目标视频矩形。 它从 CBaseControlVideo::SetDefaultDestinationPosition 成员函数调用。

以下示例演示派生类中此函数的实现。

// This is called when you reset the default target rectangle.
HRESULT CVideoText::SetDefaultTargetRect()
{
    VIDEOINFO *pVideoInfo = (VIDEOINFO *) m_pRenderer->m_mtIn.Format();
    BITMAPINFOHEADER *pHeader = HEADER(pVideoInfo);
    RECT TargetRect = {0,0,m_Size.cx,m_Size.cy};
    m_pRenderer->m_DrawImage.SetTargetRect(&TargetRect);
    return NOERROR;
}

在此示例中,CVideoText 是派生自 CBaseControlVideo 的类,m_pRenderer包含派生自 CBaseVideoRenderer 的类的对象,派生类中定义的m_DrawImage数据成员包含 CDrawImage 对象。 m_mtIn数据成员(也在派生类中定义)包含具有输入引脚媒体类型的 CMediaType 对象。

要求

要求
标头
Ctlutil.h (包括 Streams.h)

Strmbase.lib (零售版本) ;
Strmbasd.lib (调试生成)

另请参阅

CBaseControlVideo 类