←Select platform

AnnContainer Class

Summary

Represents an Annotation container.

Syntax

C#
VB
C++
public class AnnContainer : IAnnContainer, Canvas 
  
Public Class AnnContainer  
   Inherits System.Windows.Controls.Canvas 
   Implements Leadtools.Windows.Annotations.IAnnContainer, System.ComponentModel.ISupportInitialize, System.Windows.IFrameworkInputElement, System.Windows.IInputElement, System.Windows.Markup.IAddChild, System.Windows.Markup.IQueryAmbient, System.Windows.Media.Animation.IAnimatable  
public ref class AnnContainer : public System.Windows.Controls.Canvas, Leadtools.Windows.Annotations.IAnnContainer, System.ComponentModel.ISupportInitialize, System.Windows.IFrameworkInputElement, System.Windows.IInputElement, System.Windows.Markup.IAddChild, System.Windows.Markup.IQueryAmbient, System.Windows.Media.Animation.IAnimatable   

Remarks

The annotation container is a Panel that holds annotation objects. The container is responsible for maintaining these objects as well as rendering them.

Example

For XAML example, refer to AnnGroupObject.

This example creates a new AnnContainer object, links it to a Leadtools.Windows.Controls.ImageViewer object, adds a few objects and then adds the container on as a content of the viewer. Moving the mouse over an object displays the object type in the title bar.

C#
VB
Silverlight C#
Silverlight VB
using Leadtools; 
using Leadtools.Windows.Annotations; 
using Leadtools.Windows.Controls; 
using Leadtools.Codecs; 
//using Leadtools.Demos; 
//using Leadtools.Help; 
 
class MyWindow1 : Window 
{ 
   AnnContainer container; 
   //AnnAutomationManager manager; 
   ImageViewer viewer; 
 
   public MyWindow1(string title) 
   { 
      this.Title = title; 
      this.Width = 500; 
      this.Height = 200; 
 
      viewer = new ImageViewer(); 
      this.Content = viewer; 
 
      // load an image into the viewer 
      // fix this path to an existing image file on your system 
      viewer.Source = new BitmapImage(new Uri(Path.Combine(LEAD_VARS.ImagesDir, "cannon.jpg")));   
 
      // create and set up the container 
      container = new AnnContainer(); 
      container.Width = viewer.Source.Width; 
      container.Height = viewer.Source.Height; 
 
      container.MouseMove += new MouseEventHandler(container_MouseMove); 
 
      // add a few objects to the container 
      AnnLineObject line = new AnnLineObject(); 
      line.Header = "Line1"; 
      line.Stroke = Colors.Red; 
      line.Start = new Point(0, 0); 
      line.End = new Point(100, 100); 
      line.StrokeThickness = 1.0; 
      container.Children.Add(line); 
 
      AnnRectangleObject rect = new AnnRectangleObject(); 
      rect.Header = "Rectangle1"; 
      rect.Stroke = Colors.Blue; 
      rect.Fill = Colors.White; 
      rect.Rect = new Rect(25, 25, 50, 50); 
      rect.StrokeThickness = 1.0; 
      container.Children.Add(rect); 
 
      //attach container to the viewer 
      viewer.Content = container; 
   } 
 
 
   private void container_MouseMove(object sender, MouseEventArgs e) 
   { 
      // perform hit-testing and update the status bar 
      Point pt = e.GetPosition(container); 
      AnnObject obj = container.HitTest(pt); 
      if (obj != null) 
         this.Title = string.Format("Type: {0}, Header: {1}, OverHeader: {2}", obj.GetType().Name, obj.Header, obj.HitTestHeader(pt)); 
      else 
         this.Title = string.Empty; 
   } 
} 
 
private void AnnContainer_AnnContainer(string title) 
{ 
   MyWindow1 window = new MyWindow1(title); 
   window.ShowDialog(); 
} 
 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
Imports Leadtools.Windows.Annotations 
Imports Leadtools.Windows.Controls 
Imports Leadtools 
Imports Leadtools.Codecs 
 
Private Class MyWindow1 : Inherits Window 
   Private container As AnnContainer 
   'AnnAutomationManager manager; 
   Private viewer As ImageViewer 
 
   Public Sub New(ByVal title As String) 
      Me.Title = title 
      Me.Width = 500 
      Me.Height = 200 
 
      viewer = New ImageViewer() 
 
      Me.Content = viewer 
 
      ' load an image into the viewer 
      ' fix this path to an existing image file on your system 
      viewer.Source = New BitmapImage(New Uri(Path.Combine(LEAD_VARS.ImagesDir, "cannon.jpg"))) 
 
      ' create and set up the container 
      container = New AnnContainer() 
      container.Width = viewer.Source.Width 
      container.Height = viewer.Source.Height 
 
      AddHandler container.MouseMove, AddressOf container_MouseMove 
 
      ' add a few objects to the container 
      Dim line As AnnLineObject = New AnnLineObject() 
      line.Header = "Line1" 
      line.Stroke = Colors.Red 
      line.StrokeThickness = 1.0 
      line.Start = New Point(0, 0) 
      line.End = New Point(100, 100) 
      container.Children.Add(line) 
 
      Dim rect As AnnRectangleObject = New AnnRectangleObject() 
      rect.Header = "Rectangle1" 
      rect.Stroke = Colors.Blue 
      rect.StrokeThickness = 1.0 
      rect.Fill = Colors.White 
      rect.Rect = New Rect(25, 25, 50, 50) 
      container.Children.Add(rect) 
 
      'attach container to the viewer 
      viewer.Content = container 
 
   End Sub 
 
 
   Private Sub container_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs) 
      ' perform hit-testing and update the status bar 
      Dim pt As System.Windows.Point = e.GetPosition(container) 
      Dim obj As AnnObject = container.HitTest(pt) 
      If Not obj Is Nothing Then 
         Me.Title = String.Format("Type: {0}, Header: {1}, OverHeader: {2}", obj.GetType().Name, obj.Header, obj.HitTestHeader(pt)) 
      Else 
         Me.Title = String.Empty 
      End If 
   End Sub 
End Class 
 
Private Sub AnnContainer_AnnContainer(ByVal title As String) 
   Dim window As MyWindow1 = New MyWindow1(title) 
   window.ShowDialog() 
End Sub 
 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 
using Leadtools.Windows.Annotations; 
using Leadtools.Windows.Controls; 
using Leadtools.Examples; 
//using Leadtools.Help; 
 
class MyWindow1 : ChildWindow 
{ 
   AnnContainer container; 
   //AnnAutomationManager manager; 
   ImageViewer viewer; 
 
   public MyWindow1(string title) 
   { 
      this.Title = title; 
      this.Width = 500; 
      this.Height = 200; 
 
      viewer = new ImageViewer(); 
      this.Content = viewer; 
 
      // load an image into the viewer , assume that cannon.jpg was added to your project 
      Uri uri = new Uri(@"cannon.jpg", UriKind.Relative); 
      viewer.Source = new BitmapImage(uri); 
 
      // create and set up the container 
      container = new AnnContainer(); 
      container.Width = ((BitmapSource)viewer.Source).PixelWidth; 
      container.Height = ((BitmapSource)viewer.Source).PixelHeight; 
 
      container.MouseMove += new MouseEventHandler(container_MouseMove); 
 
      // add a few objects to the container 
      AnnLineObject line = new AnnLineObject(); 
      line.Header = "Line1"; 
      line.Stroke = Colors.Red; 
      line.Start = new Point(0, 0); 
      line.End = new Point(100, 100); 
      line.StrokeThickness = 1.0; 
      container.Children.Add(line); 
 
      AnnRectangleObject rect = new AnnRectangleObject(); 
      rect.Header = "Rectangle1"; 
      rect.Stroke = Colors.Blue; 
      rect.Fill = Colors.White; 
      rect.Rect = new Rect(25, 25, 50, 50); 
      rect.StrokeThickness = 1.0; 
      container.Children.Add(rect); 
 
      //attach container to the viewer 
      viewer.Content = container; 
   } 
 
 
   private void container_MouseMove(object sender, MouseEventArgs e) 
   { 
      // perform hit-testing and update the status bar 
      Point pt = e.GetPosition(container); 
      AnnObject obj = container.HitTest(pt); 
      if (obj != null) 
         this.Title = string.Format("Type: {0}, Header: {1}, OverHeader: {2}", obj.GetType().Name, obj.Header, obj.HitTestHeader(pt)); 
      else 
         this.Title = string.Empty; 
   } 
} 
 
private void AnnContainer_AnnContainer(string title) 
{ 
   MyWindow1 window = new MyWindow1(title); 
   window.Show(); 
} 
Imports Leadtools.Windows.Annotations 
Imports Leadtools.Windows.Controls 
 
Private Class MyWindow1 : Inherits ChildWindow 
   Private container As AnnContainer 
   'AnnAutomationManager manager; 
   Private viewer As ImageViewer 
 
   Public Sub New(ByVal title As String) 
      Me.Title = title 
      Me.Width = 500 
      Me.Height = 200 
 
      viewer = New ImageViewer() 
      Me.Content = viewer 
 
      'load an image into the viewer , assume that cannon.jpg was added to your project 
      Dim uri As Uri = New Uri("cannon.jpg", UriKind.Relative) 
      viewer.Source = New BitmapImage(uri) 
 
      ' create and set up the container 
      container = New AnnContainer() 
      container.Width = (CType(viewer.Source, BitmapSource)).PixelWidth 
      container.Height = (CType(viewer.Source, BitmapSource)).PixelHeight 
 
      AddHandler container.MouseMove, AddressOf container_MouseMove 
 
      ' add a few objects to the container 
      Dim line As AnnLineObject = New AnnLineObject() 
      line.Header = "Line1" 
      line.Stroke = Colors.Red 
      line.Start = New Point(0, 0) 
      line.End = New Point(100, 100) 
      line.StrokeThickness = 1.0 
      container.Children.Add(line) 
 
      Dim rect As AnnRectangleObject = New AnnRectangleObject() 
      rect.Header = "Rectangle1" 
      rect.Stroke = Colors.Blue 
      rect.Fill = Colors.White 
      rect.Rect = New Rect(25, 25, 50, 50) 
      rect.StrokeThickness = 1.0 
      container.Children.Add(rect) 
 
      'attach container to the viewer 
      viewer.Content = container 
 
   End Sub 
 
 
   Private Sub container_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs) 
      ' perform hit-testing and update the status bar 
      Dim pt As Point = e.GetPosition(container) 
      Dim obj As AnnObject = container.HitTest(pt) 
      If Not obj Is Nothing Then 
         Me.Title = String.Format("Type: {0}, Header: {1}, OverHeader: {2}", obj.GetType().Name, obj.Header, obj.HitTestHeader(pt)) 
      Else 
         Me.Title = String.Empty 
      End If 
   End Sub 
End Class 
 
Private Sub AnnContainer_AnnContainer(ByVal title As String) 
   Dim window As MyWindow1 = New MyWindow1(title) 
   window.Show() 
End Sub 

Requirements

Target Platforms

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Windows.Annotations Assembly