Метод CBaseControlVideo.SetDefaultSourceRect

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие 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