public class AnnContainer Public Class AnnContainer @interface LTAnnContainer : NSObject<NSCopying> public class AnnContainer public:ref class 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 as 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 used to logically group common annotation objects. |
|
|
Helper method used to perform hit-testing on the container and return any object under a test point or rectangle |
|
|
Optional values used when rendering this container: Whether it is visible and the border stroke and interior filling options |
|
|
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 that can be used to overlay fixed text on top of the container, such as map legends |
|
|
Method to easily resize a container to a desired size. Has various options |
This example creates a new container, adds a line and a rectangle object to it, saves it and then loads it back.
using Leadtools.Annotations.Automation;using Leadtools.Annotations.Engine;using Leadtools.Codecs;using Leadtools.Annotations.WinForms;public void AnnContainer_AnnContainer(){double inch = 720.0;// Create a new annotation container, 8.5 by 11 inchesAnnContainer container = new AnnContainer();// Size must be in annotation units (1/720 of an inch)container.Size = LeadSizeD.Create(8.5 * inch, 11 * inch);// Add a red line object, from 1in 1in to 2in 2inAnnPolylineObject 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 4inAnnRectangleObject 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 containerShowContainer("Before save", container);// Create the codecs object to save and load annotationsAnnCodecs codecs = new AnnCodecs();// Save the containerstring destFileName = @"container.xml";codecs.Save(destFileName, container, AnnFormat.Annotations, 1);// delete the containercontainer = null;// Show information about the data we just savedAnnCodecsInfo info = codecs.GetInfo(destFileName);string message;if (info.Format == AnnFormat.Annotations){message = "Version: ";message += info.Version;message += " No. of pages: ";message += info.Pages.Length;message += " page nos: ";for (int i = 0; i < info.Pages.Length; i++){message += info.Pages[i] + " ";}}else{message = "Invalid annotations data";}Debug.WriteLine(message);// Load the container we just savedcontainer = codecs.Load(destFileName, 1);// Show itShowContainer("After load", container);}private void ShowContainer(String message, AnnContainer container){string str = message + "\nContainer size: ";// Add the sizedouble inch = 720;double width = container.Size.Width / inch;double height = container.Size.Height / inch;str += width + " by " + height + " inches" + "\n";// Add the objectsstr += "Contains " + container.Children.Count + " objects(s)\n";for (int i = 0; i < container.Children.Count; i++){AnnObject annObj = container.Children[i];str += "Object: " + annObj.FriendlyName + " at ";for (int j = 0; j < annObj.Points.Count; j++){LeadPointD pt = annObj.Points[j];double x = pt.X / inch;double y = pt.Y / inch;str += "(" + x + ", " + y + ") ";}str += "\n";}Debug.WriteLine(str);}
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
