This function loads and stitches together a tiled image that has already been loaded into memory, returning you a HIGEAR handle to the image.
Declaration:
Copy Code | |
---|---|
AT_ERRCOUNT ACCUAPI IG_load_tiles_stitch_mem( LPVOID lpImage, AT_UINT nSize, UINT nPage, LPAT_STITCH lpStitch, LPHIGEAR lphIGear ); |
Arguments:
lpImage | Pointer to a memory buffer containing the image. |
nSize | Size of image in memory. |
nPage | Page number to load if this is a multi-page file. Note that page numbers begin at 1, not 0. Set nPage to 1 if this is not a multi-page file. |
lpStitch | Set to a structure of type AT_STITCH, which defines the reference tile number, and the number of rows and columns of tiles. |
lphIGear | Returns a HIGEAR handle to the newly stitched-together image. |
Return Value:
Returns 0 if successful. Otherwise, returns the number of ImageGear errors that occurred during this function call.Supported Raster Image Formats:
All pixel formats supported by ImageGear Professional.
Sample:
None
Example:
Copy Code | |
---|---|
AT_ERRCOUNT nErrcount; HIGEAR hIGear; char far * lpWhereFile; AT_UINT nWholeSize; AT_STITCH stitchStruct = {1, 1, 1}; // Open a file and get its size FILE* fd; fopen_s(&fd, "picture.tif", "rb"); if(fd != NULL) { fseek(fd, 0, SEEK_END); nWholeSize = (AT_UINT)ftell(fd); fseek(fd, 0, SEEK_SET); // Allocate memory and read the image into the memory buffer lpWhereFile = (char*)malloc(nWholeSize); fread(lpWhereFile, 1, nWholeSize, fd); // File is no longer needed - close it fclose(fd); } if(lpWhereFile != NULL) { nErrcount = IG_load_tiles_stitch_mem(lpWhereFile, nWholeSize, 1, &stitchStruct, &hIGear); // delete memory free(lpWhereFile); } //... // Destroy the image if(IG_image_is_valid(hIGear)) { IG_image_delete(hIGear); } |
Remarks:
The AT_STITCH structure allows you to tell ImageGear which tile to use as the upper-left corner in the new stitched image, and how many tile rows and columns should be stitched together. For a graphical representation of how this works, see Working with Tiled Images.
Simply loading and stitching the file does not cause it to be displayed. Refer to IG_dspl_image_draw and related routines, for how to display an image once it is in memory. See also IG_load_file_display function.
The nPage argument is set to 1 or greater if you are loading from a multi-page file, to indicate which page (image) you want to load. Set nPage to 1 for a non multi-page file.
If you set nPage to < 1, ImageGear will default the value to 1; if you set nPage to greater than the number of pages in the document, ImageGear will default the value to the last page number.
See also IG_load_tiles_stitch, IG_load_tiles_stitch_FD, IG_tile_count_get_memfunctions.
For a complete discussion of working with tiled images, see Working with Tiled Images.