Options to use when loading annotation objects.
function lt.Annotations.Core.AnnDeserializeOptions
class lt.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 creates a container, adds both line and rectangle objects to it and saves it. Then it show hows to monitor the objects being loaded.
example: function SiteLibrary_DefaultPage$example() {
// Create a new annotation container, 8.5 by 11 inches
var container = new lt.Annotations.Core.AnnContainer();
// Size must be in annotation units (1/720 of an inch)
container.set_size(lt.LeadSizeD.create(8.5 * 720, 11 * 720));
var inch = 720.0;
// Add a red line object, from 1in 1in to 2in 2in
var lineObj = new lt.Annotations.Core.AnnPolylineObject();
lineObj.get_points().add(lt.LeadPointD.create(1 * inch, 1 * inch));
lineObj.get_points().add(lt.LeadPointD.create(2 * inch, 2 * inch));
lineObj.set_stroke(lt.Annotations.Core.AnnStroke.create(lt.Annotations.Core.AnnSolidColorBrush.create("red"), lt.LeadLengthD.create(1)));
container.get_children().add(lineObj);
// Add a blue on yellow rectangle from 3in 3in to 4in 4in
var rectObj = new lt.Annotations.Core.AnnRectangleObject();
rectObj.set_rect(lt.LeadRectD.create(3 * inch, 3 * inch, 1 * inch, 1 * inch));
rectObj.set_stroke(lt.Annotations.Core.AnnStroke.create(lt.Annotations.Core.AnnSolidColorBrush.create("blue"), lt.LeadLengthD.create(1)));
rectObj.set_fill(lt.Annotations.Core.AnnSolidColorBrush.create("yellow"));
container.get_children().add(rectObj);
// Show the container
this.showContainer("Before save", container);
// Create the codecs object to save and load annotations
var codecs = new lt.Annotations.Core.AnnCodecs();
// Save the container
var xmlData = codecs.save(container, lt.Annotations.Core.AnnFormat.annotations, null, 1);
// delete the container
container = null;
// Create a new instance of AnnDeserializeOptions and Hook to the DeserializeObject and DeserializeObjectError events
var deserializeOptions = new lt.Annotations.Core.AnnDeserializeOptions();
deserializeOptions.add_deserializeObject(function(sender, e) {
// e is of type AnnSerializeObjectEventArgs
alert("loading object of type: " + e.get_typeName());
});
deserializeOptions.add_deserializeObjectError(function(sender, e) {
// e is of type AnnSerializeObjectEventArgs
alert(e.get_error().message);
});
// Set it as our deserialize options
codecs.set_deserializeOptions(deserializeOptions);
// Load the container we just saved
container = codecs.load(xmlData, 1);
// Show it
this.showContainer("After load", container);
},
showContainer: function SiteLibrary_DefaultPage$showContainer(message, container) {
var str = message + "\nContainer size: ";
// Add the size
var inch = 720;
var width = container.get_size().get_width() / inch;
var height = container.get_size().get_height() / inch;
str += width + " by " + height + " inches" + "\n";
// Add the objects
str += "Contains " + container.get_children().get_count() + " objects(s)\n";
for (var i = 0; i < container.get_children().get_count(); i++) {
var annObj = container.get_children().get_item(i);
str += "Object: " + annObj.get_friendlyName() + " at ";
for (var j = 0; j < annObj.get_points().get_count(); j++) {
var pt = annObj.get_points().get_item(j);
var x = pt.get_x() / inch;
var y = pt.get_y() / inch;
str += "(" + x + ", " + y + ") ";
}
str += "\n";
}
alert(str);
},
Products |
Support |
Feedback: AnnDeserializeOptions Object - Leadtools.Annotations.Core |
Introduction |
Help Version 19.0.2017.3.21
|
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.