Шаг 4. Рисование растрового изображения в клиентской области
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
[Этот API не поддерживается и может быть изменен или недоступен в будущем.]
Этот раздел представляет собой шаг 4 захвата рамки плаката.
Последний шаг — нарисовать растровое изображение в клиентской области окна приложения с помощью функции SetDIBitsToDevice . В этом примере просто закрашивалось растровое изображение в левом верхнем углу клиентской области без учета размера окна:
case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hwnd, &ps);
if (pbmi)
{
int result = SetDIBitsToDevice(hdc, 0, 0,
pbmi->biWidth,
pbmi->biHeight,
0, 0, 0,
pbmi->biHeight,
pBuffer,
reinterpret_cast<BITMAPINFO*>(pbmi),
DIB_RGB_COLORS);
}
EndPaint(hwnd, &ps);
}
break;
Переменные pBuffer и pbmi объявляются на шаге 1. Создание Платформы Windows Framework, а их значения получаются в разделе Шаг 3. Реализация функции Frame-Grabbing.
Связанные темы