←Select platform

AnnSerializeOptions Class


Options to use when saving annotation objects.


WinRT C#
public class AnnSerializeOptions 
Public Class AnnSerializeOptions  
public sealed class AnnSerializeOptions  
@interface LTAnnSerializeOptions : NSObject 
public class AnnSerializeOptions 
function Leadtools.Annotations.Core.AnnSerializeOptions() 
   ref class AnnSerializeOptions 


This class is used as the type for AnnCodecs.SerializeOptions and contains the following members:

Member Description

Event to trigger for each annotation object being saved. Allows you to monitor and skip any object.


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.Core; 
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)); 
   // 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"); 
   // 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; 


Target Platforms

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

Leadtools.Annotations.Core Assembly