Link between annotation data collections and annotation view collections in WPF
In This Topic
The
WpfAnnotationViewController class stores one-to-one links between one
AnnotationDataCollection from the
AnnotationDataController and one
WpfAnnotationViewCollection.
WpfAnnotationViewController class allows to:
Here is C#/VB.NET code that shows how to load an image collection, add annotation to the first image, burn annotation on the image and save the image collection into a new file:
// Create the image collection and add images to collection.
Vintasoft.Imaging.ImageCollection imageCollection =
new Vintasoft.Imaging.ImageCollection();
imageCollection.Add(@"D:\Images\AutoContrast.jpg");
imageCollection.Add(@"D:\Images\AutoColors.jpg");
// Create annotation controllers associated with image collection.
Vintasoft.Imaging.Annotation.AnnotationDataController annotationDataController =
new Vintasoft.Imaging.Annotation.AnnotationDataController(imageCollection);
Vintasoft.Imaging.Annotation.Wpf.UI.WpfAnnotationViewController wpfAnnotationViewController =
new Vintasoft.Imaging.Annotation.Wpf.UI.WpfAnnotationViewController(annotationDataController);
// Create a data of rectangle annotation.
Vintasoft.Imaging.Annotation.RectangleAnnotationData rectangleAnnotationData =
new Vintasoft.Imaging.Annotation.RectangleAnnotationData();
rectangleAnnotationData.Location = new System.Drawing.PointF(340, 150);
rectangleAnnotationData.Size = new System.Drawing.SizeF(220, 150);
// Create a view of rectangle annotation.
Vintasoft.Imaging.Annotation.Wpf.UI.WpfRectangleAnnotationView wpfRectangleAnnotationView =
new Vintasoft.Imaging.Annotation.Wpf.UI.WpfRectangleAnnotationView(rectangleAnnotationData);
// Add the rectangle annotation to the annotation controller.
wpfAnnotationViewController[0].Add(wpfRectangleAnnotationView);
// Burn annotation collection on the first image.
wpfAnnotationViewController.BurnAnnotationCollectionOnImage(0);
// Save image collection to TIFF file.
imageCollection.SaveSync(@"D:\ImageCollection.tif", true);
' Create the image collection and add images to collection.
Dim imageCollection As New Vintasoft.Imaging.ImageCollection()
imageCollection.Add("D:\Images\AutoContrast.jpg")
imageCollection.Add("D:\Images\AutoColors.jpg")
' Create annotation controllers associated with image collection.
Dim annotationDataController As New Vintasoft.Imaging.Annotation.AnnotationDataController(imageCollection)
Dim wpfAnnotationViewController As New Vintasoft.Imaging.Annotation.Wpf.UI.WpfAnnotationViewController(annotationDataController)
' Create a data of rectangle annotation.
Dim rectangleAnnotationData As New Vintasoft.Imaging.Annotation.RectangleAnnotationData()
rectangleAnnotationData.Location = New System.Drawing.PointF(340, 150)
rectangleAnnotationData.Size = New System.Drawing.SizeF(220, 150)
' Create a view of rectangle annotation.
Dim wpfRectangleAnnotationView As New Vintasoft.Imaging.Annotation.Wpf.UI.WpfRectangleAnnotationView(rectangleAnnotationData)
' Add the rectangle annotation to the annotation controller.
wpfAnnotationViewController(0).Add(wpfRectangleAnnotationView)
' Burn annotation collection on the first image.
wpfAnnotationViewController.BurnAnnotationCollectionOnImage(0)
' Save image collection to TIFF file.
imageCollection.SaveSync("D:\ImageCollection.tif", True)
Access to collections of annotations
The
WpfAnnotationViewController.Images property allows to get an image collection, which is managed by annotation controller. The collections of annotation data can be accessed using
WpfAnnotationViewController.DataController property. The collections of annotation's visual appearances can be accessed via indexer.