public AnnCodecs() - (id)init; public AnnCodecs() public:AnnCodecs()
__init__() # Default constructor using Leadtools.Annotations.Automation;using Leadtools.Annotations.Engine;using Leadtools.Annotations.Rendering;public void AnnCodecs_AnnCodecs(){// 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 * 720, 11 * 720);double inch = 720.0;// 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);// Show information about the XML data we just savedXmlDocument xmlDoc = new XmlDocument();xmlDoc.Load(destFileName);AnnCodecsInfo infoFromString = codecs.GetInfoFromString(xmlDoc.OuterXml);Debug.WriteLine($"====================");Debug.WriteLine($"Get Info From String");Debug.WriteLine($"Format: {infoFromString.Format}");Debug.WriteLine($"Version: {infoFromString.Version}");Debug.WriteLine($"Pages: {infoFromString.Pages.Length}");Debug.WriteLine($"====================");// Load the container we just savedcontainer = codecs.Load(destFileName, 1);// Show itShowContainer("After load", container);// delete the containercontainer = null;// Load the XML container just savedcontainer = codecs.LoadFromString(xmlDoc.OuterXml, 1);// Show itShowContainer("After load from string", container);// Save Active Layer using a Stream outputAnnLayer layer = AnnLayer.Create("MyLayer");container.ActiveLayer = layer;Stream stream = File.Create("StreamActiveLayer.xml");codecs.SaveLayer(stream, container.ActiveLayer, AnnFormat.Annotations, 1);// Save Active Layer using a File outputAnnLayer layer2 = AnnLayer.Create("MyLayer2");container.ActiveLayer = layer2;codecs.SaveLayer("StringActiveLayer.xml", layer2, AnnFormat.Annotations, 1);// Save Layer to stringAnnLayer layer4 = AnnLayer.Create("MyLayer4");string stringLayer = codecs.SaveLayerToString(layer4, AnnFormat.Annotations);Debug.WriteLine($"{stringLayer}");// Use SelectionObject, set ActiveLayer, Change Offset, Change PageNumber, and Save to stringAnnLayer layer5 = AnnLayer.Create("MyLayer5");AnnSelectionObject annSelectionObject = container.SelectionObject;annSelectionObject.IsSelected = true;container.ActiveLayer = layer5;container.Offset = new LeadPointD(10, 10);container.PageNumber = 3;string saveToString = codecs.SaveToString(container, AnnFormat.Annotations, 1);Debug.WriteLine($"{saveToString}");//Load from StringAnnContainer annContainer = codecs.LoadFromString(saveToString, 1);Debug.WriteLine($"{annContainer.PageNumber}");}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
