Поделиться через


Метод CDrawImage.DrawImage

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

Метод DrawImage рисует видеокадр в окне видео.

Синтаксис

BOOL DrawImage(
   IMediaSample *pMediaSample
);

Параметры

pMediaSample

Указатель на интерфейс IMediaSample примера, содержащего изображение.

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

Возвращает значение TRUE в случае успешного выполнения или FALSE в противном случае.

Комментарии

Этот метод делегирует CDrawImage::FastRender или CDrawImage::SlowRender в зависимости от того, принадлежит ли фильтру распределитель, который предоставил пример. Если фильтр является владельцем распределителя, пример гарантированно будет объектом CImageSample . В этом случае в примере используется общая память, выделенная GDI, и изображение можно нарисовать с помощью BitBlt или StretchBlt. В противном случае изображения должны быть отрисованы с помощью более медленных функций SetDIBitsToDevice или StretchDIBits .

В отладочных сборках этот метод вызывает DisplaySampleTimes , чтобы нарисовать метки времени примера по видеоизвочению.

Требования

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

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

Класс CDrawImage

CDrawImage::UsingImageAllocator