Freigeben über


DrawDibDraw-Funktion (vfw.h)

Die DrawDibDraw-Funktion zeichnet einen DIB auf den Bildschirm.

Syntax

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
);

Parameter

hdd

Handle für einen DrawDib-DC.

hdc

Handle an den DC.

xDst

Die x-Koordinate in MM_TEXT Clientkoordinaten der oberen linken Ecke des Zielrechtecks.

yDst

Die y-Koordinate in MM_TEXT Clientkoordinaten der oberen linken Ecke des Zielrechtecks.

dxDst

Breite des Zielrechtecks in MM_TEXT Clientkoordinaten. Wenn dxDst −1 ist, wird die Breite der Bitmap verwendet.

dyDst

Höhe in MM_TEXT Clientkoordinaten des Zielrechtecks. Wenn dyDst −1 ist, wird die Höhe der Bitmap verwendet.

lpbi

Zeiger auf die BITMAPINFOHEADER-Struktur , die das Bildformat enthält. Die Farbtabelle für den DIB in BITMAPINFOHEADER folgt dem Format, und der biHeight-Member muss ein positiver Wert sein. DrawDibDraw zeichnet keine invertierten DIBs.

lpBits

Zeiger auf den Puffer, der die Bitmapbits enthält.

xSrc

Die x-Koordinate in Pixeln der oberen linken Ecke des Quellrechtecks. Die Koordinaten (0,0) stellen die obere linke Ecke der Bitmap dar.

ySrc

Die y-Koordinate in Pixeln der oberen linken Ecke des Quellrechtecks. Die Koordinaten (0,0) stellen die obere linke Ecke der Bitmap dar.

dxSrc

Breite des Quellrechtecks in Pixel.

dySrc

Höhe des Quellrechtecks in Pixel.

wFlags

Anwendbare Flags für das Zeichnen. Die folgenden Werte werden definiert.

Wert Bedeutung
DDF_BACKGROUNDPAL Realisiert die Palette, die zum Zeichnen im Hintergrund verwendet wird, sodass die tatsächliche Palette, die für die Anzeige verwendet wird, unverändert bleibt. Dieser Wert ist nur gültig, wenn DDF_SAME_HDC nicht festgelegt ist.
DDF_DONTDRAW Das aktuelle Bild wird dekomprimiert, aber nicht gezeichnet. Dieses Flag ersetzt das flag DDF_PREROLL .
DDF_FULLSCREEN Wird nicht unterstützt.
DDF_HALFTONE Dithert den DIB immer in eine Standardpalette, unabhängig von der Palette des DIB. Wenn Ihre Anwendung die DrawDibBegin-Funktion verwendet, legen Sie diesen Wert in DrawDibBegin und nicht in DrawDibDraw fest.
DDF_HURRYUP Daten müssen nicht gezeichnet werden (d. h. sie können gelöscht werden), und DDF_UPDATE werden nicht zum Abrufen dieser Informationen verwendet. DrawDib überprüft diesen Wert nur, wenn er zum Erstellen des nächsten Frames erforderlich ist. Andernfalls wird der Wert ignoriert. Dieser Wert wird in der Regel verwendet, um Video und Audio zu synchronisieren. Bei der Synchronisierung von Daten sollten Anwendungen das Image mit diesem Wert senden, falls der Treiber den Frame puffern muss, um nachfolgende Frames zu dekomprimieren.
DDF_NOTKEYFRAME DIB-Daten sind kein Keyframe.
DDF_SAME_HDC Verwenden Sie das aktuelle DC-Handle und die Palette, die derzeit dem DC zugeordnet ist.
DDF_SAME_DRAW Verwenden Sie die aktuellen Zeichnungsparameter für DrawDibDraw. Verwenden Sie diesen Wert nur, wenn sich lpbi, dxDst, dyDst, dxSrc und dySrc seit der Verwendung von DrawDibDraw oder DrawDibBegin nicht geändert haben. DrawDibDraw überprüft in der Regel die Parameter, und wenn sie sich geändert haben, bereitet DrawDibBegin den DrawDib DC für das Zeichnen vor. Dieses Flag ersetzt die DDF_SAME_DIB - und DDF_SAME_SIZE flags.
DDF_UPDATE Die letzte gepufferte Bitmap muss neu gezeichnet werden. Wenn das Zeichnen mit diesem Wert fehlschlägt, ist kein gepuffertes Bild verfügbar, und es muss ein neues Bild angegeben werden, bevor die Anzeige aktualisiert werden kann.

Rückgabewert

Gibt TRUE zurück, wenn dies erfolgreich war, oder andernfalls FALSE .

Hinweise

DDF_DONTDRAW bewirkt, dass DrawDibDraw ein Bild dekomprimiert, aber nicht angezeigt wird. Ein nachfolgender Aufruf von DrawDibDraw , der angibt, DDF_UPDATE das Bild anzeigt.

Wenn für den DrawDib DC kein Off-Screen-Puffer angegeben ist, bewirkt die Angabe DDF_DONTDRAW , dass der Frame sofort auf den Bildschirm gezeichnet wird. Nachfolgende Aufrufe von DrawDibDraw , die DDF_UPDATE angeben, schlagen fehl.

Obwohl sie zu unterschiedlichen Zeiten festgelegt sind, können DDF_UPDATE und DDF_DONTDRAW zusammen verwendet werden, um zusammengesetzte Bilder außerhalb des Bildschirms zu erstellen. Wenn das Offscreen-Bild abgeschlossen ist, können Sie das Bild anzeigen, indem Sie DrawDibDraw aufrufen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile vfw.h
Bibliothek Vfw32.lib
DLL Msvfw32.dll

Weitere Informationen

DrawDib-Funktionen