VintaSoft Imaging .NET SDK 15.1: Documentation for .NET developer
Vintasoft.Imaging.Wpf.UI.VisualTools.GraphicObjects Namespace / WpfGraphicObjectTool Class
Members Object Syntax Example Hierarchy Requirements SeeAlso
In This Topic
WpfGraphicObjectTool Class
In This Topic
Visual tool for displaying static graphic objects in an image viewer.
Object Model
IObjectClipboard IWpfInteractionController WpfImageViewer WpfGraphicObjectTool
Syntax
'Declaration

<ToolboxItemAttribute("ToolboxItemType = null", "ToolboxItemTypeName = ")>
<DesignTimeVisibleAttribute("Visible = False")>
<DefaultPropertyAttribute("Content")>
<ContentPropertyAttribute("Content")>
<LocalizabilityAttribute(None)>
<StyleTypedPropertyAttribute("Property = FocusVisualStyle", "StyleTargetType = System.Windows.Controls.Control")>
<XmlLangPropertyAttribute("Name = Language")>
<UsableDuringInitializationAttribute("Usable = True")>
<RuntimeNamePropertyAttribute("Name = Name")>
<UidPropertyAttribute()>
<TypeDescriptionProviderAttribute("TypeName = MS.Internal.ComponentModel.DependencyObjectProvider")>
<NameScopePropertyAttribute("Name = NameScope", "Type = System.Windows.NameScope")>
Public Class WpfGraphicObjectTool
   Inherits Vintasoft.Imaging.Wpf.UI.VisualTools.UserInteraction.WpfUserInteractionVisualTool

[ToolboxItem("ToolboxItemType = null", "ToolboxItemTypeName = ")]
[DesignTimeVisible("Visible = False")]
[DefaultProperty("Content")]
[ContentProperty("Content")]
[Localizability(None)]
[StyleTypedProperty("Property = FocusVisualStyle", "StyleTargetType = System.Windows.Controls.Control")]
[XmlLangProperty("Name = Language")]
[UsableDuringInitialization("Usable = True")]
[RuntimeNameProperty("Name = Name")]
[UidProperty()]
[TypeDescriptionProvider("TypeName = MS.Internal.ComponentModel.DependencyObjectProvider")]
[NameScopeProperty("Name = NameScope", "Type = System.Windows.NameScope")]
public class WpfGraphicObjectTool : Vintasoft.Imaging.Wpf.UI.VisualTools.UserInteraction.WpfUserInteractionVisualTool

Example

This C#/VB.NET code shows how to draw two graphic object on viewer: first object - rectangle (red) that uses coordinate system of current image, second object - ellipse (green) that uses coordinate system of image viewer:


''' <summary>
''' Tests the graphics objects on image viewer.
''' </summary>
''' <param name="viewer">The viewer.</param>
Public Shared Sub TestGraphicsObjects(viewer As Vintasoft.Imaging.Wpf.UI.WpfImageViewer)
    ' objects location and size
    Dim objectBBox As New System.Windows.Rect(40, 60, 80, 100)

    ' object fill brush
    Dim brush As System.Windows.Media.Brush = New System.Windows.Media.SolidColorBrush(System.Windows.Media.Color.FromArgb(128, 255, 255, 255))

    ' create Rectangular Graphic Object
    Dim rect As New Vintasoft.Imaging.Wpf.UI.VisualTools.GraphicObjects.WpfRectangularGraphicObject(objectBBox, New System.Windows.Media.Pen(System.Windows.Media.Brushes.Red, 10), brush)
    ' use current image coordinate space for rectange
    rect.PointTransform = New Vintasoft.Imaging.Wpf.UI.VisualTools.WpfPixelsToImageViewerPointTransform()

    ' create Elliptical Graphic Object
    Dim ellipse As New Vintasoft.Imaging.Wpf.UI.VisualTools.GraphicObjects.WpfEllipticalGraphicObject(objectBBox, New System.Windows.Media.Pen(System.Windows.Media.Brushes.Green, 10), brush)
    ' use image viewer coordinate space for ellipse
    ellipse.PointTransform = Nothing

    ' create GraphicObjectTool
    Dim graphicObjects As New Vintasoft.Imaging.Wpf.UI.VisualTools.GraphicObjects.WpfGraphicObjectTool()
    graphicObjects.GraphicObjectCollection.Add(rect)
    graphicObjects.GraphicObjectCollection.Add(ellipse)

    ' set GraphicObjectTool as current tool of ImageViewer
    viewer.VisualTool = graphicObjects
End Sub


/// <summary>
/// Tests the graphics objects on image viewer.
/// </summary>
/// <param name="viewer">The viewer.</param>
public static void TestGraphicsObjects(Vintasoft.Imaging.Wpf.UI.WpfImageViewer viewer)
{
    // objects location and size
    System.Windows.Rect objectBBox = new System.Windows.Rect(40, 60, 80, 100);

    // object fill brush
    System.Windows.Media.Brush brush =
        new System.Windows.Media.SolidColorBrush(System.Windows.Media.Color.FromArgb(128, 255, 255, 255));

    // create Rectangular Graphic Object
    Vintasoft.Imaging.Wpf.UI.VisualTools.GraphicObjects.WpfRectangularGraphicObject rect =
        new Vintasoft.Imaging.Wpf.UI.VisualTools.GraphicObjects.WpfRectangularGraphicObject(
            objectBBox, new System.Windows.Media.Pen(System.Windows.Media.Brushes.Red, 10), brush);
    // use current image coordinate space for rectange
    rect.PointTransform = new Vintasoft.Imaging.Wpf.UI.VisualTools.WpfPixelsToImageViewerPointTransform();

    // create Elliptical Graphic Object
    Vintasoft.Imaging.Wpf.UI.VisualTools.GraphicObjects.WpfEllipticalGraphicObject ellipse =
        new Vintasoft.Imaging.Wpf.UI.VisualTools.GraphicObjects.WpfEllipticalGraphicObject(
            objectBBox, new System.Windows.Media.Pen(System.Windows.Media.Brushes.Green, 10), brush);
    // use image viewer coordinate space for ellipse
    ellipse.PointTransform = null;

    // create GraphicObjectTool
    Vintasoft.Imaging.Wpf.UI.VisualTools.GraphicObjects.WpfGraphicObjectTool graphicObjects =
        new Vintasoft.Imaging.Wpf.UI.VisualTools.GraphicObjects.WpfGraphicObjectTool();
    graphicObjects.GraphicObjectCollection.Add(rect);
    graphicObjects.GraphicObjectCollection.Add(ellipse);

    // set GraphicObjectTool as current tool of ImageViewer
    viewer.VisualTool = graphicObjects;
}

Inheritance Hierarchy

System.Object
   System.Windows.Threading.DispatcherObject
      System.Windows.DependencyObject
         System.Windows.Media.Visual
            System.Windows.UIElement
               System.Windows.FrameworkElement
                  System.Windows.Controls.Control
                     System.Windows.Controls.ContentControl
                        Vintasoft.Imaging.Wpf.UI.VisualTools.WpfVisualTool
                           Vintasoft.Imaging.Wpf.UI.VisualTools.UserInteraction.WpfUserInteractionVisualTool
                              Vintasoft.Imaging.Wpf.UI.VisualTools.GraphicObjects.WpfGraphicObjectTool
                                 Vintasoft.Imaging.Wpf.UI.VisualTools.WpfTextOverlayTool

Requirements

Target Platforms: .NET 10; .NET 9; .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5

See Also