Aktivieren Sie JavaScript, um die Website anzuzeigen.

IDS Software Suite 4.96.1

Windows_Logo
Linux_Logo

USB 2.0

USB 3.x

GigE

USB 2.0

USB 3.x

GigE

Syntax

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

Beschreibung

hint_info

Hinweis zu Linux-Systemen

Für das Speichern von Bildern als JPEG oder PNG müssen unter Linux bestimmte Bibliotheken (libraries) installiert sein (siehe ReadMe-Datei https://de.ids-imaging.com/download-ueye.html).

is_ImageFile() lädt und speichert ein Bild aus einer bzw. in eine Datei. Das Bild muss als BMP-, JPEG- oder PNG-Format vorliegen. Das Bild wird in den aktiven Bildspeicher geladen, bzw. aus dem aktiven Bildspeicher ausgelesen.

hint_info

Beim Speichern eines Bildes sollte is_FreezeVideo() nicht mit dem Parameter IS_DONT_WAIT aufgerufen werden, da die Bildaufnahme zum Zeitpunkt des Speicherns eventuell noch nicht abgeschlossen ist.

Das Bitmap wird mit der Farbtiefe gespeichert, mit der der Bildspeicher alloziert wurde bzw. auf die bei Direct3D der aktuelle Farbmodus eingestellt ist. Bilder mit einer Bittiefe von mehr als 8 Bit können im PNG-Format abgespeichert werden. 12 Bit-Formate werden dabei in 16 Bit umgewandelt. Die JPEG-Datei wird immer mit einer Farbtiefe von 8 oder 24 Bit gespeichert.

hint_info

Im Direct3D- oder OpenGL-Modus werden Overlay-Daten nicht gespeichert.

Ü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 IMAGE_FILE_PARAMS

wchar_t*

pwchFileName

Name der zu ladenden/speichernden Datei (Unicode).

Bei Übergabe von NULL wird der "Datei öffnen"-/"Speichern unter"-Dialog angezeigt.

UINT

nFileType

Zu speichernder/ladender Dateityp:

•IS_IMG_BMP

•IS_IMG_JPG

•IS_IMG_PNG

UINT

nQuality

•JPEG/PNG: Gibt die Bildqualität an. Je höher der Wert, desto besser die Qualität.
100 = beste Qualität (keine Komprimierung)
Ist der Parameter = 0, dann wird der Default-Wert von 75 verwendet.

•BMP: Der Parameter wird ignoriert.

char**

ppcImageMem

Beim Laden:

Zeiger auf einen Bildspeicher und Zeiger auf die dazugehörige ID. Sind beide Zeiger = NULL, dann wird das Bild in den aktiven Bildspeicher geladen. Sind beide Zeiger gültig, dann wird ein neuer Speicher alloziert. Dieser muss mit is_FreeImageMem() wieder freigegeben werden.

Beim Speichern:

Zeiger auf einen Bildspeicher und Zeiger auf die dazugehörige ID. Sind beide Zeiger = NULL, dann wird das Bild aus dem aktiven Bildspeicher gespeichert. Sind beide Zeiger gültig, dann wird der entsprechende Speicher verwendet.

UINT*

pnImageID

BYTE

reserved[32]

reserviert

Rückgabewert

IS_FILE_READ_INVALID_BMP_ID

Die angegebene Datei besitzt kein gültiges Bitmap-Format.

IS_FILE_READ_OPEN_ERROR

Die Datei kann nicht geöffnet werden.

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

Verwandte Funktionen

•is_GetImageMem()

•is_SetImageMem()

Beispiel 1

IMAGE_FILE_PARAMS ImageFileParams;
 
ImageFileParams.pwchFileName = NULL;
ImageFileParams.pnImageID = NULL;
ImageFileParams.ppcImageMem = NULL;
ImageFileParams.nQuality = 0;
 
// Load bitmap into active memory (with file open dialog)
ImageFileParams.nFileType = IS_IMG_BMP;
INT nRet = is_ImageFile(m_hCam, IS_IMAGE_FILE_CMD_LOAD, (void*)&ImageFileParams, sizeof(ImageFileParams));
 
// Load jpeg into active memory (with file open dialog)
ImageFileParams.nFileType = IS_IMG_JPG;
nRet = is_ImageFile(m_hCam, IS_IMAGE_FILE_CMD_LOAD, (void*)&ImageFileParams, sizeof(ImageFileParams));
 
// Alloc image memory and load bitmap into it (without file open dialog)
char* pcMemory = NULL;
UINT nID = 0;
ImageFileParams.pwchFileName = L"c:\\test.bmp";
ImageFileParams.pnImageID = &nID;
ImageFileParams.ppcImageMem = &pcMemory;
ImageFileParams.nFileType = IS_IMG_BMP;
nRet = is_ImageFile(m_hCam, IS_IMAGE_FILE_CMD_LOAD, (void*)&ImageFileParams, sizeof(ImageFileParams));

Beispiel 2

IMAGE_FILE_PARAMS ImageFileParams;
 
ImageFileParams.pwchFileName = NULL;
ImageFileParams.pnImageID = NULL;
ImageFileParams.ppcImageMem = NULL;
ImageFileParams.nQuality = 0;
 
// Save bitmap from active memory to file (with file open dialog)
ImageFileParams.nFileType = IS_IMG_BMP;
INT nRet = is_ImageFile(m_hCam, IS_IMAGE_FILE_CMD_SAVE, (void*)&ImageFileParams, sizeof(ImageFileParams));
 
// Save jpeg from active memory with quality 80 (without file open dialog)
ImageFileParams.pwchFileName = L"c:\\test.jpg";
ImageFileParams.nFileType = IS_IMG_JPG;
ImageFileParams.nQuality = 80;
nRet = is_ImageFile(m_hCam, IS_IMAGE_FILE_CMD_SAVE, (void*)&ImageFileParams, sizeof(ImageFileParams));
 
// Save png from special memory with quality 50 (with file open dialog)
ImageFileParams.pwchFileName = NULL;
ImageFileParams.pnImageID = &nID;   // valid ID
ImageFileParams.ppcImageMem = &pcMemory;     // valid buffer
ImageFileParams.nFileType = IS_IMG_PNG;
ImageFileParams.nQuality = 50;
nRet = is_ImageFile(m_hCam, IS_IMAGE_FILE_CMD_SAVE, (void*)&ImageFileParams, sizeof(ImageFileParams));