Options to use when loading annotation objects.
public class AnnDeserializeOptionsPublic Class AnnDeserializeOptionspublic sealed class AnnDeserializeOptions@interface LTAnnDeserializeOptions : NSObjectpublic class AnnDeserializeOptionsfunction Leadtools.Annotations.Core.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 Leadtools.Annotations.Automation;using Leadtools.Annotations.Core;using Leadtools.Codecs;public void AnnCodecs_AnnDeserializeOptions(){// Create a new annotation container, 8.5 by 11 inchesAnnContainer 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 2inAnnPolylineObject 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 4inAnnRectangleObject 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 containerShowContainer("Before save", container);// Create the codecs object to save and load annotationsAnnCodecs codecs = new AnnCodecs();// Save the containerstring destFileName = @"container.xml";codecs.Save(destFileName, container, AnnFormat.Annotations, 1);// delete the containercontainer = null;// Create a new instance of AnnDeserializeOptions and Hook to the DeserializeObject and DeserializeObjectError eventsAnnDeserializeOptions deserializeOptions = new AnnDeserializeOptions();deserializeOptions.DeserializeObject += deserializeOptions_DeserializeObject;deserializeOptions.DeserializeObjectError += deserializeOptions_DeserializeObjectError;// Set it as our deserialize optionscodecs.DeserializeOptions = deserializeOptions;// Load the container we just savedcontainer = codecs.Load(destFileName, 1);// Show itShowContainer("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);}
using Leadtools.Converters;using Leadtools.Annotations.Automation;using Leadtools.Controls;using Leadtools.Annotations.Core;using Leadtools.Codecs;public async Task AnnCodecs_AnnDeserializeOptions(){// Create a new annotation container, 8.5 by 11 inchesAnnContainer container = new AnnContainer();// Size must be in annotation units (1/720 of an inch)container.Size = LeadSizeDHelper.Create(8.5 * 720, 11 * 720);double inch = 720.0;// Add a red line object, from 1in 1in to 2in 2inAnnPolylineObject lineObj = new AnnPolylineObject();lineObj.Points.Add(LeadPointDHelper.Create(1 * inch, 1 * inch));lineObj.Points.Add(LeadPointDHelper.Create(2 * inch, 2 * inch));lineObj.Stroke = AnnStroke.Create(AnnSolidColorBrush.Create("Red"), LeadLengthDHelper.Create(1));container.Children.Add(lineObj);// Add a blue on yellow rectangle from 3in 3in to 4in 4inAnnRectangleObject rectObj = new AnnRectangleObject();rectObj.Rect = LeadRectDHelper.Create(3 * inch, 3 * inch, 1 * inch, 1 * inch);rectObj.Stroke = AnnStroke.Create(AnnSolidColorBrush.Create("Blue"), LeadLengthDHelper.Create(1));rectObj.Fill = AnnSolidColorBrush.Create("Yellow");container.Children.Add(rectObj);// Show the containerShowContainer("Before save", container);// Create the codecs object to save and load annotationsAnnCodecs codecs = new AnnCodecs();// Save the containerstring destFileName = @"container.xml";StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName);await codecs.SaveAsync(saveFile, container, AnnFormat.Annotations, 1);// delete the containercontainer = null;// Create a new instance of AnnDeserializeOptions and Hook to the DeserializeObject and DeserializeObjectError eventsAnnDeserializeOptions deserializeOptions = new AnnDeserializeOptions();deserializeOptions.DeserializeObject += deserializeOptions_DeserializeObject;deserializeOptions.DeserializeObjectError += deserializeOptions_DeserializeObjectError;// Set it as our deserialize optionscodecs.DeserializeOptions = deserializeOptions;// Load the container we just savedcontainer = await codecs.LoadAsync(saveFile, 1);// Show itShowContainer("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);}
|
Products |
Support |
Feedback: AnnDeserializeOptions Class - Leadtools.Annotations.Core |
Introduction |
Help Version 19.0.2017.3.22
|

Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.