Passaggio 4: Disegnare la bitmap nell'area client
[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.
[Questa API non è supportata e può essere modificata o non disponibile in futuro.]
Questo argomento è il passaggio 4 dell'acquisizione di una cornice poster.
Il passaggio finale consiste nel disegnare la bitmap nell'area client della finestra dell'applicazione usando la funzione SetDIBitsToDevice . Questo esempio disegna semplicemente la bitmap nell'angolo superiore sinistro dell'area client, senza considerare le dimensioni della finestra:
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;
Le variabili pBuffer e pbmi vengono dichiarate nel passaggio 1: Creare Windows Framework e i relativi valori vengono ottenuti nel passaggio 3: Implementare la funzione Frame-Grabbing.
Argomenti correlati