Aktivieren Sie JavaScript, um die Website anzuzeigen.

IDS Software Suite 4.95.1

Windows_Logo
Linux_Logo

GigE

GigE

Syntax

INT is_ImageBuffer(HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParam)

Beschreibung

Die Funktion ermöglicht den Zugriff auf aufgenommene Bilder im Kameraspeicher (siehe Kameraspeicher verwenden (GigE uEye Kameras)).

Über den Übergabeparameter nCommand wird dabei der Funktionsmodus gewählt. Der Übergabeparameter pParam ist abhängig vom Funktionsmodus unterschiedlich belegt; bei Funktionen zum Setzen oder Rücklesen eines Wertes enthält pParam einen Zeiger auf eine Variable vom Typ UINT. Die Größe des Speicherbereichs, auf den pParam verweist, wird im Übergabeparameter cbSizeOfParam angegeben.

Übergabeparameter

hCam

Handle auf Kamera

pParam

Zeiger auf Funktionsparameter, der abhängig von nCommand unterschiedlich belegt ist.

cbSizeOfParam

Größe des Speicherbereichs in Byte, auf den pParam verweist.

Inhalte der Struktur IMGBUF_ITERATION_INFO

UINT

u32IterationID

Iteration-ID

ID_RANGE

rangeImageID

Bildbereich, d.h. die ID des ersten und letzten Bilds

BYTE

bReserved[52]

reserviert

Inhalte der Struktur ID_RANGE

INT

s32First

Erste Bild-ID

INT

s32Last

Letzte Bild-ID

Inhalte der Struktur IMGBUF_ITEM

UINT

u32IterationID

Iteration-ID

INT

s32ImageID

Bild-ID

Rückgabewert

IS_DEVICE_BUSY

Die Kamera ist gerade beschäftigt und kann das angeforderte Bild nicht übertragen.

IS_INVALID_PARAMETER

Einer der übergebenen Parameter ist außerhalb des gültigen Bereichs, oder für diesen Sensor nicht unterstützt, bzw. in diesem Modus nicht zugänglich.

IS_NO_SUCCESS

Allgemeine Fehlermeldung

IS_NOT_SUPPORTED

Das verwendete Kameramodell unterstützt diese Funktion oder Einstellung nicht.

IS_SUCCESS

Funktion erfolgreich

Beispiel

INT nRet = IS_SUCCESS;
 
ID_RANGE iterationRange;
 
/* Get range of all available iterations */
nRet = is_ImageBuffer(hCam, IS_IMGBUF_DEVMEM_CMD_GET_AVAILABLE_ITERATIONS, &iterationRange,
                    sizeof(iterationRange));
if (nRet == IS_SUCCESS)
{
  INT s32FirstIterationID = iterationRange.s32First;
  INT s32LastIterationID = iterationRange.s32Last;
 
  /* Get infos about the first iteration */
  IMGBUF_ITERATION_INFO iterationInfo;
  iterationInfo.u32IterationID = s32FirstIterationID;
 
  INT nRet = is_ImageBuffer(hCam, IS_IMGBUF_DEVMEM_CMD_GET_ITERATION_INFO, &iterationInfo,
                            sizeof(iterationInfo));
  if (nRet == IS_SUCCESS)
  {
      INT s32FirstImageID = iterationInfo.rangeImageID.s32First;
      INT s32LastImageID = iterationInfo.rangeImageID.s32Last;
 
      /* Transfer last image to active user buffer */
      IMGBUF_ITEM bufferItem;
      bufferItem.s32ImageID     = s32LastImageID;
      bufferItem.u32IterationID = s32FirstIterationID;
 
      nRet = is_ImageBuffer(hCam, IS_IMGBUF_DEVMEM_CMD_TRANSFER_IMAGE, (void*)&bufferItem,
                            sizeof(bufferItem));
  }
 
  /* Release all iterations up to the last available iteration */
  nRet = is_ImageBuffer(hCam, IS_IMGBUF_DEVMEM_CMD_RELEASE_ITERATIONS, (void*)
                        &iterationRange.s32Last, sizeof(iterationRange.s32Last));
}