Syntax
INT is_AllocImageMem (HIDS hf, INT width, INT height, INT bitspixel, char** ppcImgMem, INT* pid)
Beschreibung
is_AllocImageMem() alloziert einen Bildspeicher für ein Bild der Breite width, der Höhe height und der Farbtiefe bitspixel. Die Speichergröße ist mindestens:
size = [width * ((bitspixel + 1) / 8) + adjust] * height
adjust siehe unten
Der Zeileninkrement berechnet sich zu:
•line = width * [(bitspixel + 1) / 8]
•lineinc = line + adjust
•adjust = 0, wenn line ohne Rest durch 4 teilbar ist
•adjust = 4 - rest(line / 4), wenn line nicht ohne Rest durch 4 teilbar ist
Das Zeileninkrement kann mit der Funktion is_GetImgMemPitch() ausgelesen werden.
Die Anfangsadresse des Speicherbereichs wird in ppcImgMem zurückgegeben.
pid enthält eine Identifikationsnummer des allozierten Speichers. Ein neu allozierter Speicher ist nicht direkt aktiv, d.h. Bilder werden nicht direkt in diesen neuen Speicher digitalisiert. Er muss zuerst mit is_SetImageMem() für das Erfassen von Einzelbildern aktiv gesetzt werden. Auf is_SetImageMem() muss is_SetImageSize() folgen, damit die Einstellungen in den neu aktivierten Speicherbereich übertragen werden.
Der zurückgegebene Zeiger muss gesichert werden und darf nicht verändert werden, da dieser für alle weiteren ImageMem-Funktionen benötigt wird! Die Freigabe des Speichers erfolgt mit is_FreeImageMem().
In den DirectDraw/Direct3D Modi ist das Allozieren eines Bildspeichers nicht notwendig!
|
Aktuelle Betriebssysteme lagern einzelne, länger nicht benutzte Bereiche des Arbeitsspeichers auf die langsamere Festplatte aus, falls der freie physische Arbeitsspeicher knapp wird. Daher kann sich die Bildaufnahme insgesamt verlangsamen, falls mehr Bildspeicher reserviert wurde, als gleichzeitig im Arbeitsspeicher vorgehalten werden kann. |
Übergabeparameter
hf |
Handle auf Frame Grabber |
width |
Breite des Bildes |
height |
Höhe des Bildes |
bitspixel |
Farbtiefe des Bildes (Bits pro Pixel) |
ppcImgMem |
Enthält den Zeiger auf den Speicheranfang |
pid |
Enthält die ID des Speichers |
Rückgabewert
IS_SUCCESS, IS_NO_SUCCESS