Represents an annotation container.
function lt.Annotations.Core.AnnContainer class lt.Annotations.Core.AnnContainer() The annotation container is a rectangular area that holds related annotation objects (AnnObject). In typical applications, the container holds the annotation objects for a page in a document. The size of the container is the same of the page but in annotation units (1/720 of an inch).
AnnContainer contains the following members:
| Member | Description |
|---|---|
| Size, Offset and PageNumber | Properties of the container: Size is the size of the container in annotation units (1/720 of an inch). Offset is an optional offset value (if the container does not start at 0,0) and PageNumber is the optional 1-based page number of the container |
| The object responsible for converting display, container and image coordinates | |
| A collection of AnnObjects. These are the annotation objects that belong in this container. These objects will be rendered when the container is rendered and edited when the container is automated | |
| Special annotation object that is responsible for maintaining a list of the objects that are currently selected in the container | |
| A collection of AnnLayers for logically grouping common annotation objects. | |
| HitTestPoint and HitTestRect | Helper method for performing hit-testing on the container and returning any object under a test point or rectangle. |
| IsVisible, Stroke and Fill | Optional values (whether it is visible, border stroke, interior filling options) used when rendering this container. |
| Optional value indicating whether this container is enabled. If a container is disabled, then it will be used by the automation and considered read-only. | |
| Optional labels (for example, map legends) that can be used to overlay fixed text on top of the container. | |
| Method for easily resizing a container to a desired size. Has options. |
This example creates a new container, adds a line object and a rectangle object to it, saves it and then loads it back.
example: function SiteLibrary_DefaultPage$example() {var inch = 720.0;// Create a new annotation container, 8.5 by 11 inchesvar 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 * inch, 11 * inch));// Add a red line object, from 1in 1in to 2in 2invar 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 4invar 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 containerthis.showContainer("Before save", container);// Create the codecs object to save and load annotationsvar codecs = new lt.Annotations.Core.AnnCodecs();// Save the containervar xmlData = codecs.save(container, lt.Annotations.Core.AnnFormat.annotations, null, 1);// delete the containercontainer = null;// Show information about the data we just savedvar info = codecs.getInfo(xmlData);var message;if (info.get_format() == lt.Annotations.Core.AnnFormat.annotations) {message = "Version: ";message += info.get_version();message += " No. of pages: ";message += info.get_pages().length;message += " page nos: ";for (var i = 0; i < info.get_pages().length; i++) {message += info.get_pages()[i] + " ";}}else {message = "Invalid annotations data";}alert(message);// Load the container we just savedcontainer = codecs.load(xmlData, 1);// Show itthis.showContainer("After load", container);},showContainer: function SiteLibrary_DefaultPage$showContainer(message, container) {var str = message + "\nContainer size: ";// Add the sizevar 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 objectsstr += "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);},
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
