Represents an Annotation container.
[SerializableAttribute()]public class AnnContainer : IDisposable
<SerializableAttribute()>Public Class AnnContainerImplements System.IDisposable
[SerializableAttribute()]public ref class AnnContainer : public System.IDisposable
The annotation container is a rectangular area that holds annotation objects. The container is responsible for maintaining these objects as well as drawing them upon request.
This example creates a new AnnContainer object, links it to a Leadtools.WinForms.RasterImageViewer object, adds a few objects and then draws the container on top of the viewer. Moving the mouse over an object displays the object type in the title bar.
using Leadtools;using Leadtools.Annotations;using Leadtools.Codecs;using Leadtools.WinForms;class MyForm1 : Form{AnnContainer container;//AnnAutomationManager manager;RasterImageViewer viewer;RasterCodecs codecs;public MyForm1(string title){Text = title;Size = new Size(500, 200);viewer = new RasterImageViewer();viewer.Dock = DockStyle.Fill;Controls.Add(viewer);viewer.BringToFront();// load an image into the viewercodecs = new RasterCodecs();string fileName = Path.Combine(LEAD_VARS.ImagesDir, "image1.cmp");viewer.Image = codecs.Load(fileName);// create and set up the containercontainer = new AnnContainer();container.Bounds = new AnnRectangle(0, 0, viewer.ImageSize.Width, viewer.ImageSize.Height);container.UnitConverter = new AnnUnitConverter(viewer.ImageDpiX, viewer.ImageDpiY);// subscribe to the view PostTransformPaint and TransformChanged events to be able to correctly draw the containerviewer.PostImagePaint += new PaintEventHandler(viewer_PostImagePaint);viewer.TransformChanged += new EventHandler(viewer_TransformChanged);viewer.MouseMove += new MouseEventHandler(viewer_MouseMove);// add a few objects to the containerAnnLineObject line = new AnnLineObject();line.Name = "Line1";line.Pen = new AnnPen(Color.Red, new AnnLength(1, AnnUnit.Pixel));line.StartPoint = new AnnPoint(0, 0, AnnUnit.Pixel);line.EndPoint = new AnnPoint(100, 100, AnnUnit.Pixel);container.Objects.Add(line);AnnRectangleObject rect = new AnnRectangleObject();rect.Name = "Rectangle1";rect.Pen = new AnnPen(Color.Blue, new AnnLength(1, AnnUnit.Pixel));rect.Brush = new AnnSolidBrush(Color.White);rect.Bounds = new AnnRectangle(25, 25, 50, 50, AnnUnit.Pixel);container.Objects.Add(rect);// repaint the viewerviewer.Invalidate(container.InvalidRectangle);}private void viewer_PostImagePaint(object sender, PaintEventArgs e){// draw the container on top of the viewercontainer.Draw(e.Graphics);}private void viewer_TransformChanged(object sender, EventArgs e){// keep the container transform in synch with current viewer transformation (zoom, scroll, etc)container.Transform = viewer.Transform.Clone();}private void viewer_MouseMove(Object sender, MouseEventArgs e){// perform hit-testing and update the status barAnnPoint pt = new AnnPoint(e.X, e.Y, AnnUnit.Pixel);AnnObject obj = container.HitTest(pt, 2);if (obj != null)Text = string.Format("Type: {0}, Name: {1}, Value: {2}", obj.GetType().Name, obj.Name, obj.HitTest(pt, 2));elseText = string.Empty;}}private void AnnContainer_AnnContainer(string title){MyForm1 form = new MyForm1(title);form.ShowDialog();}static class LEAD_VARS{public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";}
Imports LeadtoolsImports Leadtools.AnnotationsImports Leadtools.CodecsImports Leadtools.WinFormsPrivate Class MyForm1 : Inherits FormPrivate myAnnContainer As AnnContainer'AnnAutomationManager manager;Private viewer As RasterImageViewerPrivate codecs As RasterCodecsPublic Sub New(ByVal title As String)Text = titleSize = New Size(500, 200)viewer = New RasterImageViewer()viewer.Dock = DockStyle.FillControls.Add(viewer)viewer.BringToFront()' load an image into the viewercodecs = New RasterCodecs()viewer.Image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "image1.cmp")) ' fix this path to an existing image file on your system' create and set up the containermyAnnContainer = New AnnContainer()myAnnContainer.Bounds = New AnnRectangle(0, 0, viewer.ImageSize.Width, viewer.ImageSize.Height)myAnnContainer.UnitConverter = New AnnUnitConverter(viewer.ImageDpiX, viewer.ImageDpiY)' subscribe to the view PostTransformPaint and TransformChanged events to be able to correctly draw the containerAddHandler viewer.PostImagePaint, AddressOf viewer_PostImagePaintAddHandler viewer.TransformChanged, AddressOf viewer_TransformChangedAddHandler viewer.MouseMove, AddressOf viewer_MouseMove' add a few objects to the containerDim line As AnnLineObject = New AnnLineObject()line.Name = "Line1"line.Pen = New AnnPen(Color.Red, New AnnLength(1, AnnUnit.Pixel))line.StartPoint = New AnnPoint(0, 0, AnnUnit.Pixel)line.EndPoint = New AnnPoint(100, 100, AnnUnit.Pixel)myAnnContainer.Objects.Add(line)Dim rect As AnnRectangleObject = New AnnRectangleObject()rect.Name = "Rectangle1"rect.Pen = New AnnPen(Color.Blue, New AnnLength(1, AnnUnit.Pixel))rect.Brush = New AnnSolidBrush(Color.White)rect.Bounds = New AnnRectangle(25, 25, 50, 50, AnnUnit.Pixel)myAnnContainer.Objects.Add(rect)' repaint the viewerviewer.Invalidate(myAnnContainer.InvalidRectangle)End SubPrivate Sub viewer_PostImagePaint(ByVal sender As Object, ByVal e As PaintEventArgs)' draw the container on top of the viewermyAnnContainer.Draw(e.Graphics)End SubPrivate Sub viewer_TransformChanged(ByVal sender As Object, ByVal e As EventArgs)' keep the container transform in synch with current viewer transformation (zoom, scroll, etc)myAnnContainer.Transform = viewer.Transform.Clone()End SubPrivate Sub viewer_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs)' perform hit-testing and update the status barDim pt As AnnPoint = New AnnPoint(e.X, e.Y, AnnUnit.Pixel)Dim obj As AnnObject = myAnnContainer.HitTest(pt, 2)If Not obj Is Nothing ThenText = String.Format("Type: {0}, Name: {1}, Value: {2}", obj.GetType().Name, obj.Name, obj.HitTest(pt, 2))ElseText = String.EmptyEnd IfEnd SubEnd ClassPrivate Sub AnnContainer_AnnContainer(ByVal title As String)Dim form As MyForm1 = New MyForm1(title)form.ShowDialog()End SubPublic NotInheritable Class LEAD_VARSPublic Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"End Class
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
