Связь между данными аннотаций и коллекциями представлений в WinForms
В этом разделе
Класс
AnnotationViewController хранит связи один к одному между одним
AnnotationDataCollection из
AnnotationDataController и одним
AnnotationViewCollection.
Класс
AnnotationViewController позволяет:
Вот C#/VB.NET код, который демонстрирует, как загрузить коллекцию изображений, добавить аннотацию к первому изображению, прожечь аннотацию на изображении и сохранить коллекцию изображений в новый файл:
// 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.UI.AnnotationViewController annotationViewController =
new Vintasoft.Imaging.Annotation.UI.AnnotationViewController(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.UI.RectangleAnnotationView rectangleAnnotationView =
new Vintasoft.Imaging.Annotation.UI.RectangleAnnotationView(rectangleAnnotationData);
// Add the rectangle annotation to the annotation controller.
annotationViewController[0].Add(rectangleAnnotationView);
// Burn annotation collection on the first image.
annotationViewController.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 annotationViewController As New Vintasoft.Imaging.Annotation.UI.AnnotationViewController(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 rectangleAnnotationView As New Vintasoft.Imaging.Annotation.UI.RectangleAnnotationView(rectangleAnnotationData)
' Add the rectangle annotation to the annotation controller.
annotationViewController(0).Add(rectangleAnnotationView)
' Burn annotation collection on the first image.
annotationViewController.BurnAnnotationCollectionOnImage(0)
' Save image collection to TIFF file.
imageCollection.SaveSync("D:\ImageCollection.tif", True)
Доступ к коллекциям аннотаций
Свойство
AnnotationViewController.Images позволяет получить коллекцию изображений, которой управляет контроллер аннотаций. Доступ к коллекциям данных аннотаций можно получить с помощью свойства
AnnotationViewController.DataController. Доступ к коллекциям видов аннотаций можно получить через индексатор.