Options to use when loading annotation objects.
public class AnnDeserializeOptions
Public Class AnnDeserializeOptions
@interface LTAnnDeserializeOptions : NSObject
public class AnnDeserializeOptions
public:
ref class AnnDeserializeOptions
This class is used as the type for AnnCodecs.DeserializeOptions and contains the following members:
Member | Description |
---|---|
DeserializeObject |
Event to trigger for each annotation object being loaded. Allows you to monitor and skip any object. |
DeserializeObjectError |
Event to trigger when an error occurs during loading an annotation object. Allows you to handle the error or skip it. |
This example will create a container, adds a line and rectangle objects to it and saves it. Then it will show how to monitor the objects being loaded.
using LeadtoolsExamples.Common;
using Leadtools.Annotations.Automation;
using Leadtools.Annotations.Engine;
using Leadtools.Codecs;
public void AnnCodecs_AnnDeserializeOptions()
{
// 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();
// Save the container
string destFileName = @"container.xml";
codecs.Save(destFileName, container, AnnFormat.Annotations, 1);
// delete the container
container = null;
// Create a new instance of AnnDeserializeOptions and Hook to the DeserializeObject and DeserializeObjectError events
AnnDeserializeOptions deserializeOptions = new AnnDeserializeOptions();
deserializeOptions.DeserializeObject += deserializeOptions_DeserializeObject;
deserializeOptions.DeserializeObjectError += deserializeOptions_DeserializeObjectError;
// Set it as our deserialize options
codecs.DeserializeOptions = deserializeOptions;
// Load the container we just saved
container = codecs.Load(destFileName, 1);
// Show it
ShowContainer("After load", container);
}
void deserializeOptions_DeserializeObjectError(object sender, AnnSerializeObjectEventArgs e)
{
Debug.WriteLine(e.Error.Message);
}
void deserializeOptions_DeserializeObject(object sender, AnnSerializeObjectEventArgs e)
{
Debug.WriteLine("loading object of type: " + e.TypeName);
}
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