Retrieve the raw handle to map memory.
| Declaration | Zeolite.h |
|---|---|
| Implementation | Zeolite.cpp |
void* zmap_GetDataPtr(ZMAP hMap);
| Name | Type | Comment |
|---|---|---|
| hMap | ZMAP | The ZMAP handle of the map for which the data handle is to be retrieved. |
A null pointer if:
zmap_tile_GetDataPtr instead).zmap_IsContiguous, and use zmap_GetScanlinePtr to retrieve memory address instead).A valid (non-null) pointer otherwise.
Pixels are ordered in rows going east-to-west, with rows ordered south to north. To convert from x/y coordinate to memory offset, use the following formula:
long offset = (x + nx * y) * PixelMemSize;
…where ny is the map width (in pixels) and PixelMemSize is the size in memory of one pixel (see zmap_GetPixelSize).
To convert from memory offsets to pixel coordinates, use the following formulae:
long x = (offset/PixelMemSize)%nx; long y = (offset/PixelMemSize)/nx;
It is recommended that, wherever possible, the zmap_GetPixel / zmap_SetPixel functions are used for accessing map data, instead of direct memory access with zmap_GetDataPtr. Those functions include coordinate checking and memory protection, as well has handling mip-mapping and mosaic tile cache loading/saving and automatically.