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.

This function is available in the Document and Medical Imaging toolkits.

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

LTANN

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.

Platforms

Windows 2000 / XP/Vista.

See Also

Functions:

L_AnnSave, L_AnnSaveMemory, L_SetTag, L_DeleteTag

Topics

Annotation Functions (Document/Medical only): Saving Annotation Files

 

Implementing an Automated Annotation Program

 

Implementing a Non-automated Annotation Program

 

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.

 L_INT AnnSaveTagExample(HANNOBJECT hContainer)/* Container object */
{
   L_INT nRet;
   SAVEFILEOPTION SaveFileOption;
   BITMAPHANDLE   LeadBitmap;

   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(TEXT("%UserProfile%\\My Documents\\LEADTOOLS Images\\Result.TIF"), &LeadBitmap, FILE_TIF, 0, 0, &SaveFileOption);
   if(nRet != SUCCESS)
      return nRet;
   return SUCCESS;
}