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 |