VintaSoft Imaging .NET SDK 12.4: 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
    
    
    [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 __gc class WpfGraphicObjectTool : public 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 ref class WpfGraphicObjectTool : public 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 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5

    See Also