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

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

Win32, x64.

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(MAKE_IMAGE_PATH(TEXT("Result.TIF")), &LeadBitmap, FILE_TIF, 0, 0, &SaveFileOption);
   if(nRet != SUCCESS)
      return nRet;
   return SUCCESS;
}