public event EventHandler<AnnSerializeObjectEventArgs> SerializeObject
@property (nonatomic,assign) id<LTAnnSerializeObjectDelegate> delegate;
public void addSerializeObjectListener(AnnSerializeObjectListener listener)
public void removeSerializeObjectListener(AnnSerializeObjectListener listener)
public:
event EventHandler<AnnSerializeObjectEventArgs^>^ SerializeObject
def SerializeObject(sender,e): # sender: AnnSerializeOptions e: AnnSerializeObjectEventArgs
The event handler receives an argument of type AnnSerializeObjectEventArgs containing data related to this event. The following AnnSerializeObjectEventArgs properties provide information specific to this event.
Property | Description |
---|---|
AnnObject | Gets or sets the annotation object being loaded or saved. |
AnnSerializeObjectEventArgs
This event will trigger once for each annotation object being saved with the AnnSerializeObjectEventArgs event data members containing the following:
Member | Description |
---|---|
TypeName |
The type name of the AnnObject being saved. |
AnnObject |
The AnnObject being saved. |
SkipObject |
Set to false. You can change this value to true to skip saving this object and continue to the next. |
using Leadtools.Annotations.Automation;
using Leadtools.Annotations.Engine;
using Leadtools.Annotations.Rendering;
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