Funzione DrawDibDraw (vfw.h)
La funzione DrawDibDraw disegna un DIB sullo schermo.
Sintassi
BOOL VFWAPI DrawDibDraw(
HDRAWDIB hdd,
HDC hdc,
int xDst,
int yDst,
int dxDst,
int dyDst,
LPBITMAPINFOHEADER lpbi,
LPVOID lpBits,
int xSrc,
int ySrc,
int dxSrc,
int dySrc,
UINT wFlags
);
Parametri
hdd
Handle in un controller di dominio DrawDib.
hdc
Handle per il controller di dominio.
xDst
Coordinata x, in MM_TEXT coordinate client, dell'angolo superiore sinistro del rettangolo di destinazione.
yDst
Coordinata y, in MM_TEXT coordinate client, dell'angolo superiore sinistro del rettangolo di destinazione.
dxDst
Larghezza, in MM_TEXT coordinate client, del rettangolo di destinazione. Se dxDst è ~1, viene usata la larghezza della bitmap.
dyDst
Altezza, in MM_TEXT coordinate client, del rettangolo di destinazione. Se dyDst è ~1, viene usata l'altezza della bitmap.
lpbi
Puntatore alla struttura BITMAPINFOHEADER contenente il formato dell'immagine. La tabella dei colori per DIB all'interno di BITMAPINFOHEADER segue il formato e il membro biHeight deve essere un valore positivo; DrawDibDraw non disegnerà i DIB invertiti.
lpBits
Puntatore al buffer che contiene i bit bitmap.
xSrc
Coordinata x, in pixel, dell'angolo superiore sinistro del rettangolo di origine. Le coordinate (0,0) rappresentano l'angolo superiore sinistro della bitmap.
ySrc
Coordinata y, in pixel, dell'angolo superiore sinistro del rettangolo di origine. Le coordinate (0,0) rappresentano l'angolo superiore sinistro della bitmap.
dxSrc
Larghezza, in pixel, del rettangolo di origine.
dySrc
Altezza, in pixel, del rettangolo di origine.
wFlags
Flag applicabili per il disegno. Vengono definiti i valori seguenti.
Valore | Significato |
---|---|
DDF_BACKGROUNDPAL | Realizza la tavolozza utilizzata per disegnare in background, lasciando invariata la tavolozza effettiva utilizzata per la visualizzazione. Questo valore è valido solo se DDF_SAME_HDC non è impostato. |
DDF_DONTDRAW | L'immagine corrente è decompressa ma non disegnata. Questo flag sostituisce il flag DDF_PREROLL . |
DDF_FULLSCREEN | Non supportato. |
DDF_HALFTONE | Sposta sempre il DIB su una tavolozza standard indipendentemente dalla tavolozza del DIB. Se l'applicazione usa la funzione DrawDibBegin , impostare questo valore in DrawDibBegin anziché in DrawDibDraw. |
DDF_HURRYUP | I dati non devono essere disegnati (ovvero possono essere eliminati) e DDF_UPDATE non verranno usati per richiamare queste informazioni. DrawDib controlla questo valore solo se è necessario per compilare il frame successivo; in caso contrario, il valore viene ignorato. Questo valore viene in genere usato per sincronizzare video e audio. Quando si sincronizzano i dati, le applicazioni devono inviare l'immagine con questo valore nel caso in cui il driver debba memorizzare nel buffer il frame per decomprimere i fotogrammi successivi. |
DDF_NOTKEYFRAME | I dati DIB non sono un fotogramma chiave. |
DDF_SAME_HDC | Usare l'handle dc corrente e la tavolozza attualmente associata al controller di dominio. |
DDF_SAME_DRAW | Utilizzare i parametri di disegno correnti per DrawDibDraw. Usare questo valore solo se lpbi, dxDst, dyDst, dxSrc e dySrc non sono stati modificati da quando si usa DrawDibDraw o DrawDibBegin. DrawDibDraw controlla in genere i parametri e, se sono stati modificati, DrawDibBegin prepara il controller di dominio DrawDib per il disegno. Questo flag sostituisce i flag DDF_SAME_DIB e DDF_SAME_SIZE . |
DDF_UPDATE | L'ultima bitmap memorizzata nel buffer deve essere ridisegnata. Se il disegno ha esito negativo con questo valore, un'immagine memorizzata nel buffer non è disponibile e deve essere specificata una nuova immagine prima che la visualizzazione possa essere aggiornata. |
Valore restituito
Restituisce TRUE se ha esito positivo o FALSE in caso contrario.
Commenti
DDF_DONTDRAW fa sì che DrawDibDraw decomprima ma non visualizzi un'immagine. Una chiamata successiva a DrawDibDraw che specifica DDF_UPDATE visualizza l'immagine.
Se il controller di dominio DrawDib non dispone di un buffer fuori schermo specificato, specificando DDF_DONTDRAW fa sì che il frame venga disegnato immediatamente sullo schermo. Le chiamate successive a DrawDibDraw specificando DDF_UPDATE esito negativo.
Anche se sono impostati in momenti diversi, DDF_UPDATE e DDF_DONTDRAW possono essere usati insieme per creare immagini composite fuori schermo. Al termine dell'immagine fuori schermo, è possibile visualizzare l'immagine chiamando DrawDibDraw.
Requisiti
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | vfw.h |
Libreria | Vfw32.lib |
DLL | Msvfw32.dll |