Syntax
INT is_PrepareStealVideo (HIDS hf, int Mode, ULONG StealColorMode)
Beschreibung
Bereitet die Bilderfassung in einen mit is_AllocImageMem() allozierten Speicher unter einem DirectDraw-odus vor. Während der Darstellung eines Livebildes unter einem DirectDraw-Modus kann durch ein "Steal" eine einstellbare Anzahl Bilder aus der Live-Bilderfassung "gestohlen" werden und in einen allozierten Speicher umgelenkt werden. Die Live-Bilderfassung wird nur für die eingestellte Anzahl Bilder unterbrochen.
Alternativ kann der automatische Steal-Modus verwendet werden. Beim automatischen Steal-Modus können die Anzahl Bilder, die wechselweise zur VGA Karte und in den Hauptspeicher gesendet werden, getrennt im Bereich von 1...255 eingestellt werden. Beim Starten im automatischen Steal-Modus wird zunächst ein Bild zur VGA gesendet, darauf folgend jeweils die eingestellte Anzahl Frames in den Hauptspeicher und die VGA Karte. Die Bilderfassung beim "Steal" kann mit dem Spiegeln des Bildes um die horizontale Achse kombiniert werden (siehe auch is_SetRopEffect()). Hierzu muss der Parameter Mode mit einer der MIRROR Konstanten logisch Oder verknüpft werden. Der mit is_SetRopEffect() eingestellte Modus wirkt sich nicht auf das durch den Steal-Vorgang erfasste Bild aus. Ein gewünschter ROP-Effekt muss bei is_PrepareStealVideo() durch die o.g. Oder-Verknüpfung angegeben werden.
"Stealing" kann nur in Verbindung mit den Bilderfassungsmodi IS_SET_CM_FRAME oder IS_SET_CM_NEXT_FRAME in der Interlaced oder Non-Interlaced Darstellung verwendet werden (siehe auch is_SetCaptureMode()).
Wenn das Sequenz-Event verwendet wird (siehe is_InitEvent()), so können in Verbindung mit dem DirectDraw Primary-Surface-Modus mehr Events signalisiert werden, als die eingestellte Anzahl Bilder, die in den Bildspeicher erfasst werden.
Übergabeparameter
hf |
Handle auf Frame Grabber |
Mode |
Initialisierung oder Deinitialisierung des Modus |
IS_INIT_STEAL_VIDEO |
Initialisiert den manuellen Steal-Modus |
IS_INIT_STEAL_VIDEO_MANUAL |
Initialisiert den manuellen Steal-Modus |
IS_INIT_STEAL_VIDEO_AUTO |
Initialisiert den automatischen Steal-Modus |
IS_SET_STEAL_RATIO |
Das Verhältnis der Anzahl Bilder zur VGA bzw. zum Hauptspeicher setzen (kann mit den ersten drei Konstanten logisch ODER verknüpft werden) |
IS_EXIT_STEAL_VIDEO |
Deinitialisiert den Steal-Modus |
Zusätzlich Spiegeln um die horizontale Achse (ODER-verknüpft): |
|
IS_SET_ROP_MIRROR_UPDOWN |
ganzes Frame spiegeln |
IS_SET_ROP_MIRROR_UPDOWN_ODD |
nur Odd-Field spiegeln |
IS_SET_ROP_MIRROR_UPDOWN_EVEN |
nur Even-Field spiegeln |
Steal-Bildgröße unabhängig von aktueller Einstellung (ODER-verknüpft) |
|
IS_USE_MEM_IMAGE_SIZE |
Erfasst das Steal-Bild in der Größe, wie der Bildspeicher des Steal-Bildes angelegt wurde. |
StealColorMode |
Farbmodus, mit dem das Bild "gestohlen" werden soll. (Farbmodi siehe is_SetColorMode()) |
Rückgabewert
IS_SUCCESS, IS_NO_SUCCESS
Die Anzahl Bilder zur VGA Karte und Hauptspeicher wird im Fall von IS_SET_STEAL_RATIO mit dem Parameter StealColorMode angegeben:
Bits |
31...24 |
23...16 |
15...8 |
7...0 |
Bedeutung |
reserviert |
Anzahl Frames zur VGA Karte |
Anzahl Frames in den Speicher |
Steal Farbmodus |
Beispiel
•Manuellen Steal Modus im Y8 Farbmodus initialisieren:
is_PrepareStealVideo(hf, IS_INIT_STEAL_VIDEO, IS_SET_CM_Y8)
•Manuellen Steal Modus im Y8 Farbmodus initialisieren, bei dem 5 Bilder in den Hauptspeicher umgelenkt werden:
is_PrepareStealVideo(hf, IS_INIT_STEAL_VIDEO | IS_SET_STEAL_RATIO, IS_SET_CM_Y8 | 0x0500)
0x0500 ist die hexadezimale Darstellung einer 5 in den Bits 15…8
| ist die logische ODER-Verknüpfung
•Automatischen Steal Modus im Y8 Farbmodus initialisieren, bei dem 2 Bilder in den Hauptspeicher und 7 in die VGA Karte geschrieben werden:
is_PrepareStealVideo(hf, IS_INIT_STEAL_VIDEO_AUTO | IS_SET_STEAL_RATIO , IS_SET_CM_Y8 | 0x070200)
0x070200 ist die hexadezimale Darstellung einer 7 in den Bits 23…16 und einer 2 in den Bits 15…8
| ist die logische ODER-Verknüpfung
•Setzen der Werte, um 2 Bilder in den Hauptspeicher und 7 Bilder in die VGA Karte zu erfassen (der Steal-Prozess kann dabei aktiv sein):
is_PrepareStealVideo(hf, IS_SET_STEAL_RATIO, 0x070200)
0x070200 ist die hexadezimale Darstellung einer 7 in den Bits 23…16 und einer 2 in den Bits 15…8