(Leadtools.Annotations.Core)

AnnDeserializeOptions Class

Show in webframe
Example 





Members 
Options to use when loading annotation objects.
Syntax
public class AnnDeserializeOptions 
Public Class AnnDeserializeOptions 
public sealed class AnnDeserializeOptions 
@interface LTAnnDeserializeOptions : NSObject
public class AnnDeserializeOptions
function Leadtools.Annotations.Core.AnnDeserializeOptions()
Remarks

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.

Example
Copy Code  
using Leadtools.Annotations.Automation;
using Leadtools.Annotations.Core;
using Leadtools.Codecs;
using Leadtools.WinForms;

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);
}
using Leadtools.Converters;
using Leadtools.Annotations.Automation;
using Leadtools.Controls;
using Leadtools.Annotations.Core;
using Leadtools.Codecs;

[TestMethod]
public async Task 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 = LeadSizeDHelper.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(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 4in
   AnnRectangleObject 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 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";
   StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName);
   await codecs.SaveAsync(saveFile, 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 = await codecs.LoadAsync(saveFile, 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);
}
Requirements

Target Platforms

See Also

Reference

AnnDeserializeOptions Members
Leadtools.Annotations.Core Namespace
Annotation Files

 

 


Products | Support | Contact Us | Copyright Notices
© 2006-2014 All Rights Reserved. LEAD Technologies, Inc.