Copies the annotation objects into a memory location so that the next TIFF saved will contain these annotations in a Wang compatible TIFF tag.
#include "l_bitmap.h"
L_LTANN_API L_INT L_AnnSaveTag(hObject, uFormat, fSelected)
Handle to the root annotation object.
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. |
Flag that indicates which objects to save. Possible values are:
Value | Meaning |
---|---|
TRUE | Save all selected objects. |
FALSE | Save only the specified object. |
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
< 1 | An error occurred. Refer to Return Codes. |
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:
This tag can be cleared using L_SetTag like this:
L_SetTag(ANNTAG_TIFF, 0, 0, NULL);
Win32, x64.
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. To not lose any information, save the annotations as
ANNFMT_TIFFTAG instead.
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, L_TRUE);
if (nRet != SUCCESS)
{
_tprintf(_T("%s"), TEXT("Annotation Error: Error creating annotation data.\nThe file will be saved without annotations.\n\n"));
return nRet;
}
/* Save the bitmap to a file, with the tag. */
nRet = L_SaveBitmap(MAKE_IMAGE_PATH("Result.TIF"), pBitmap, FILE_TIF, 0, 0, &SaveFileOption);
if (nRet != SUCCESS)
return nRet;
return SUCCESS;
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document