LAnnContainer::SaveOffset

#include "ltwrappr.h"

virtual L_SIZE_T LAnnContainer::SaveOffset(fd, nOffset, uFormat=ANNFMT_NATIVE, bSelected=TRUE, pSaveOptions=NULL)

L_HFILE fd;

Windows file handle

L_SSIZE_T nOffset;

offset within the specified file to embed the saved annotation file

L_UINT uFormat;

file format for saving annotation data

L_BOOL bSelected;

flag that indicates which objects to save

pSAVEFILEOPTION pSaveOptions;

pointer to optional extended save options

Saves the specified annotations at a specified position in an existing file.

Parameter Description
fd The Windows file handle of the file to save.
nOffset The offset within the specified file to embed the saved annotation file. For example, if you specify 5, then 5 bytes of other data will precede the embedded file.
uFormat Format for saving annotation data.  Possible values are:
  Value Meaning
  ANNFMT_NATIVE [0x0000] Use LEAD's own format for annotations.  NOTE: This format has been replaced by ANNFMT_XML, and is no longer supported.
  ANNFMT_WMF [0x0001] Save the file in the Windows WMF format.
  ANNFMT_ENCODED [0x0004] Save as a binary format. NOTE: This format has been replaced by ANNFMT_XML, and is no longer supported.
  ANNFMT_XML [0x0005] Save the file in an XML text format. This is LEADs new text-based format which is upward-compatible. It should be used instead of ANNFMT_NATIVE.  This is the default value.
bSelected Flag that indicates which objects to save.  Possible values are:
  Value Meaning
  TRUE Save all objects that have the selected property set to TRUE. For getting and setting the selected property, use the LAnnotation::IsSelected and LAnnotation::SetSelected functions.
  FALSE Save only the specified object.
pSaveOptions Pointer to a SAVEFILEOPTION structure that contains optional extended save options. This information is used to add annotation pages or replace annotation pages in a multi-page annotation file. Pass NULL to save a one-page annotation file.

Returns

The size of the embedded file.

Comments

In version 15.0, the text based format ANNFMT_XML is replacing ANNFMT_NATIVE and ANNFMT_ENCODED.  Note that ANNFMT_NATIVE and ANNFMT_ENCODED are no longer supported as options with LAnnContainer::Save, LAnnContainer::SaveOffset, and LAnnContainer::SaveMemory.

For backward compatibility, this latest version of LEADTOOLS can read the discontinued formats (ANNFMT_NATIVE and ANNFMT_ENCODED) with the following functions:

LAnnContainer::Load

LAnnContainer::LoadOffset

LAnnContainer::LoadMemory

LAnnContainer::DeletePage

LAnnContainer::DeletePageOffset

LAnnContainer::DeletePageMemory

The ANNFMT_XML format offers many advantages over the older annotation formats:

Save annotations in the WMF format only for use in another application. LEADTOOLS reads annotations only in the native format.

To retain scaling and positioning information, this function always saves the root container, along with the specified object or selected objects. Use the bSelected parameter as follows:

This function overwrites existing data at the specified location in the file. You can use this function to update an image that you loaded with the LAnnContainer::LoadOffset function. The offset is specified in bytes. You must open the file and get a Windows file handle before calling this function.

The information in the SAVEFILEOPTION structure can be used to add new pages or replace existing pages in a multi-page annotation file of type ANNFMT_XML. Note that all the pages of an annotation multi-page file must be all of type ANNFMT_XML. An annotation file cannot contain pages of different format types.

To insert new pages to an annotation multi-page file:

1.

Declare a variable of type SAVEFILEOPTION.

2.

Set the uFlags field of the SAVEFILEOPTION structure to ESO_INSERTPAGE.

3.

Set the PageNumber field of the SAVEFILEOPTION structure to the location for insertion. The new page will be inserted in front of the page specified in the PageNumber field.

To replace an existing page in an annotation multi-page file:

1.

Declare a variable of type SAVEFILEOPTION.

2.

Set the uFlags field of the SAVEFILEOPTION structure to ESO_REPLACEPAGE.

3.

Set the PageNumber field of the SAVEFILEOPTION structure to the page to replace.

To delete a page from an annotation multi-page file, use LAnnContainer::DeletePage, LAnnContainer::DeletePageMemory, or LAnnContainer::DeletePageOffset.

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.

Help Version 20.0.2018.9.26
Products | Support | Contact Us | Copyright Notices
© 1991-2018 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C++ Class Library Help