119SDK (Software development Kit)
© 2010 Thorlabs
7.3.2
is_AllocImageMem
Syntax
INT is_AllocImageMem (HIDS hCam,
INT width, INT height, INT bitspixel,
char** ppcImgMem, INT* pid)
Description
is_AllocImageMem() allocates an image memory for an image having its dimensions defined by
width and height and its colour depth defined by bitspixel. The memory size is at least:
size = [width * ((bitspixel + 1) / 8) + adjust] * height (for details on adjust, see
below)
The line increment is calculated as:
line = width * [(bitspixel + 1) / 8]
lineinc = line + adjust.
adjust = 0, if line can be divided by 4 without remainder
adjust = 4 - rest(line / 4), if line cannot be divided by 4 without remainder
To read out the line increment, you can use the is_GetImgMemPitch() function.
The starting address of the memory area is returned in ppcImgMem.
pid returns an ID for the allocated memory. A newly allocated memory is not directly active, i.e.
digitised images will not be stored immediately in this new memory. It must first be made active
using is_SetImageMem() .
The returned pointer must be write-protected and may not be altered because it will be used for all
further ImageMem functions. To release the memory, you can use is_FreeImageMem() .
In the Direct3D modes, image memory allocation is not necessary.
In case the operating system is short of physical memory, today's OS versions swap individual
areas of the RAM that have not been used for some time out to the slower hard disk. This can
slow down image capture if more image memory has been allocated than can be provided by the
RAM at a time.
178
270
147