Condividi tramite


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

Vedi anche

Funzioni DrawDib