Метод CBaseControlVideo.GetSourceRect

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

Метод GetSourceRect извлекает исходный прямоугольник. Это внутренний метод.

Синтаксис

virtual HRESULT GetSourceRect(
   RECT *pSourceRect
) = 0;

Параметры

pSourceRect

Указатель на полученный исходный прямоугольник.

Возвращаемое значение

Возвращает значение HRESULT .

Комментарии

Эта функция-член должна быть переопределена в производном классе, чтобы вернуть исходный прямоугольник, удерживаемый отрисовщиком видео. Он вызывается из следующих функций-членов CBaseControlVideo .

В следующем примере демонстрируется реализация этой функции в производном классе.

// Return the current source rectangle
HRESULT CVideoText::GetSourceRect(RECT *pSourceRect)
{
    ASSERT(pSourceRect);
    m_pRenderer->m_DrawImage.GetSourceRect(pSourceRect);
    return NOERROR;
}

В этом примере CVideoText является классом, производным от CBaseControlVideo, m_pRenderer содержит объект класса, производного от CBaseVideoRenderer, а элемент данных m_DrawImage, определенный в производном классе, содержит объект CDrawImage .

Требования

Требование Значение
Заголовок
Ctlutil.h (включая Streams.h)
Библиотека
Strmbase.lib (розничные сборки);
Strmbasd.lib (отладочные сборки)

См. также раздел

Класс CBaseControlVideo