L_AnnSaveTag

Summary

Copies the annotation objects into a memory location so that the next TIFF saved will contain these annotations in a Wang compatible TIFF tag.

Syntax

#include "l_bitmap.h"

L_LTANN_API L_INT L_AnnSaveTag(hObject, uFormat, fSelected)

Parameters

HANNOBJECT hObject

Handle to the root annotation object.

L_UINT 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.

L_BOOL 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

Value Meaning
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:

This tag can be cleared using L_SetTag like this:

L_SetTag(ANNTAG_TIFF, 0, 0, NULL); 

Required DLLs and Libraries

Platforms

Win32, x64.

See Also

Functions

Topics

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. 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 Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C API Help

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.