CBaseControlVideo.SetDefaultSourceRect 方法

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

方法 SetDefaultSourceRect 将默认源视频矩形设置为纯虚拟) (。 这在重置源矩形时调用的内部成员函数中。

语法

virtual HRESULT SetDefaultSourceRect() = 0;

参数

此方法没有任何参数。

返回值

返回 HRESULT 值。

备注

派生类应重写此值以重置源矩形。 它从 CBaseControlVideo::SetDefaultSourcePosition 调用。

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

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

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

要求

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

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

另请参阅

CBaseControlVideo 类