LEADTOOLS Raster Imaging C DLL Help > Function References > L_AnnSaveTag |
#include "l_bitmap.h"
L_LTANN_API L_INT L_AnnSaveTag(hObject, uFormat, fSelected)
HANNOBJECT hObject; |
/* handle of the root annotation object */ |
L_UINT uFormat; |
/* file format for saving annotation data */ |
L_BOOL fSelected; |
/* flag that indicates which objects to save */ |
Copies the annotation objects into a memory location so that the next TIFF saved will contain these annotations in a Wang compatible TIFF tag.
Parameter |
Description |
|
hObject |
Handle to the root annotation object. |
|
uFormat |
File format to use when saving the annotation data. Possible values are: |
|
|
Value |
Meaning |
|
ANNFMT_TIFFTAG |
[0x0002] Save the object in WANG format, along with all LEAD properties not supported by the Wang specification. |
|
ANNFMT_WANGTAG |
[0x0003] Save only the properties supported by the Wang specification. |
fSelected |
Flag that indicates which objects to save. Possible values are: |
|
|
Value |
Meaning |
|
TRUE |
Save all selected objects. |
|
FALSE |
Save only the specified object. |
Returns
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
Comments
After calling this function, saving an image as a TIFF format will cause the annotations to be saved in a tag in the TIFF file. This function is the equivalent of the following:
HGLOBAL hMem;
L_UINT32 ulSize;
// save the annotations to memory
L_AnnSaveMemory(hObject, uFormat, fSelected, &hMem &ulSize);
// store a copy of the annotations in LTFIL
L_SetTag(ANNTAG_TIFF, TAG_BYTE, ulSize, GlobalLock(hMem));
// free the memory handle, since LTFIL has a copy
GlobalUnlock(hMem);
GlobalFree(hMem);
The annotations will not be saved unless you also save an image in one of the TIFF formats (FILE_TIF_JPEG, FILE_CCITT, FILE_TIF, FILE_TIFLZW, FILE_CCITT_GROUP3_1DIM, FILE_CCITT_GROUP3_2DIM, FILE_CCITT_GROUP4, FILE_TIF_CMYK, FILE_TIFLZW_CMYK, FILE_TIF_PACKBITS, FILE_TIF_PACKBITS_CMYK, FILE_TIF_YYC, FILE_TIFLZW_YYC, FILE_TIF_PACKBITS_YCC, FILE_TIF_CMP, FILE_TIF_JBIG).
This tag can be cleared using L_SetTag like this:
L_SetTag(ANNTAG_TIFF, 0, 0, NULL);
Required DLLs and Libraries
For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application. |
Win32, x64.
See Also
Functions: |
|
Topics |
Annotation Functions (Document/Medical only): Saving Annotation Files |
|
|
|
|
|
Example
This example saves all annotations in a container in a Wang compatible TIFF tag. The page and annotations are appended to the end of the file. Note that saving the annotation, as ANNFMT_WANGTAG will lose some objects/properties not supported by the Wang specification. If don't want to lose any information, save the annotations as ANNFMT_TIFFTAG instead.
#define MAKE_IMAGE_PATH(pFileName) TEXT("C:\\Users\\Public\\Documents\\LEADTOOLS Images\\")pFileName L_INT AnnSaveTagExample(pBITMAPHANDLE pBitmap, HANNOBJECT hContainer) /* Container object */ { L_INT nRet; SAVEFILEOPTION SaveFileOption; nRet = L_GetDefaultSaveFileOption(&SaveFileOption, sizeof(SAVEFILEOPTION)); if(nRet != SUCCESS) return nRet; SaveFileOption.PageNumber = 2; // append the page /* set Wang Compatibility mode for annotations */ nRet = L_AnnSaveTag(hContainer, ANNFMT_WANGTAG, TRUE); if(nRet != SUCCESS) { MessageBox(NULL, TEXT("Error creating annotation data.\n") TEXT("The file will be saved without annotations.\n\n"), TEXT("Annotation Error"), MB_OK); return nRet; } /* Save the bitmap to a file, with the tag. */ nRet = L_SaveBitmap(MAKE_IMAGE_PATH(TEXT("Result.TIF")),pBitmap, FILE_TIF, 0, 0, &SaveFileOption); if(nRet != SUCCESS) return nRet; return SUCCESS; }