|
Der DirectDraw-Modus wurde durch den Direct3D-Modus ersetzt. Wir empfehlen, den Direct3D-Modus anstelle des DirectDraw-Modus zu verwenden. |
In diesem Modus kann ein Live-Bild mit der Ausgabegeschwindigkeit des Primary-Surface-Modus und gleichzeitiger Darstellung des Overlays erreicht werden.
Das Videobild wird in einen nicht sichtbaren Bereich der VGA-Karte digitalisiert. Dieser Bereich muss sich immer auf der VGA Karte befindet. Durch Definition einer Keying-Farbe und Zeichnen dieser Farbe in das Bildausgabefenster wird überall dort, wo sich diese Keying-Farbe im Ausgabefenster befindet, das Videobild eingeblendet. Wird der Fensterbereich mit der Keying-Farbe gefüllt, so erscheint das Videobild. Entsprechend bleiben Grafik/Textdaten erhalten, die nicht mit der Keying-Farbe gezeichnet wurden. Dadurch entsteht ein non-destructive Overlay. Das Einblenden erfolgt durch den VGA-Chip und benötigt nahezu keine Rechenzeit. Dieser Modus wird nicht von allen VGA-Chips unterstützt und ist nur in bestimmten VGA Modi möglich.
Bester Text/Grafik-Overlay mit Fensterüberlagerung erreicht man durch das Setzen des nachfolgenden Videomodus:
Mode = IS_SET_DM_DIRECTDRAW | IS_SET_DM_ALLOW_OVERLAY
Wenn das Videobild auf die Fenstergröße skaliert werden soll (auch Vergrößerung möglich), dann kann dies wie folgt erreicht werden:
Mode = IS_SET_DM_DIRECTDRAW | IS_SET_DM_ALLOW_OVERLAY | IS_SET_DM_ALLOW_SCALING
Im Skalierungsmodus kann zusätzlich ein Modus aktiviert werden, der bei einer Bildgröße von kleiner Vollbild/2 den "Lattenzauneffekt" (Interlaced Effekt) bei bewegten Bildern verhindert. Dies erfolgt durch die Ausgabe nur eines Halbbildes.
Mode = IS_SET_DM_DIRECTDRAW | IS_SET_DM_ALLOW_OVERLAY | IS_SET_DM_ALLOW_SCALING | IS_SET_DM_ALLOW_FIELDSKIP

Abb. 39: DirectDraw Overlay Surface-Modus