Options to use when saving annotation objects.
public class AnnSerializeOptions
Public Class AnnSerializeOptions
@interface LTAnnSerializeOptions : NSObject
public class AnnSerializeOptions
public:
ref class AnnSerializeOptions
This class is used as the type for AnnCodecs.SerializeOptions and contains the following members:
Member | Description |
---|---|
SerializeObject |
Event to trigger for each annotation object being saved. Allows you to monitor and skip any object. |
SaveLockPassword |
Controls whether AnnObject.Password of locked annotation objects is saved in the annotation file. |
This example will create a container, adds a line and rectangle objects to it. Then skip the line object during save.
using LeadtoolsExamples.Common;
using Leadtools.Annotations.Automation;
using Leadtools.Annotations.Engine;
using Leadtools.Codecs;
public void AnnCodecs_AnnSerializeOptions()
{
// Create a new annotation container, 8.5 by 11 inches
AnnContainer container = new AnnContainer();
// Size must be in annotation units (1/720 of an inch)
container.Size = LeadSizeD.Create(8.5 * 720, 11 * 720);
double inch = 720.0;
// Add a red line object, from 1in 1in to 2in 2in
AnnPolylineObject lineObj = new AnnPolylineObject();
lineObj.Points.Add(LeadPointD.Create(1 * inch, 1 * inch));
lineObj.Points.Add(LeadPointD.Create(2 * inch, 2 * inch));
lineObj.Stroke = AnnStroke.Create(AnnSolidColorBrush.Create("Red"), LeadLengthD.Create(1));
container.Children.Add(lineObj);
// Add a blue on yellow rectangle from 3in 3in to 4in 4in
AnnRectangleObject rectObj = new AnnRectangleObject();
rectObj.Rect = LeadRectD.Create(3 * inch, 3 * inch, 1 * inch, 1 * inch);
rectObj.Stroke = AnnStroke.Create(AnnSolidColorBrush.Create("Blue"), LeadLengthD.Create(1));
rectObj.Fill = AnnSolidColorBrush.Create("Yellow");
container.Children.Add(rectObj);
// Show the container
ShowContainer("Before save", container);
// Create the codecs object to save and load annotations
AnnCodecs codecs = new AnnCodecs();
// Create a new instance of AnnSrializeOptions and Hook to the SerializeObject event
AnnSerializeOptions serializeOptions = new AnnSerializeOptions();
serializeOptions.SerializeObject += serializeOptions_SerializeObject;
// Set it as our deserialize options
codecs.SerializeOptions = serializeOptions;
// Save the container
string destFileName = @"container.xml";
codecs.Save(destFileName, container, AnnFormat.Annotations, 1);
// delete the container
container = null;
// Load the container we just saved
container = codecs.Load(destFileName, 1);
// Show it
ShowContainer("After load", container);
}
void serializeOptions_SerializeObject(object sender, AnnSerializeObjectEventArgs e)
{
AnnObject annObj = e.AnnObject;
if (annObj.Id == AnnObject.PolylineObjectId)
{
Debug.WriteLine("skipping a polyline during save");
e.SkipObject = true;
}
}
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