Leadtools.Windows.Controls Namespace > ImageViewer Class : GeometryFrameType Property |
public GeometryFrameType GeometryFrameType {get; set;}
'Declaration Public Property GeometryFrameType As GeometryFrameType
'Usage Dim instance As ImageViewer Dim value As GeometryFrameType instance.GeometryFrameType = value value = instance.GeometryFrameType
public: property GeometryFrameType GeometryFrameType { GeometryFrameType get(); void set ( GeometryFrameType value); }
The Geometry property can be used to put any shape on top of this control and frame it to indicate the current region of interest area.
The coordinates of the Geometry must be in image coordinates, and accordingly, the geometry will be zoomed in and out and scrolled depending on current viewer zoom value and scroll position.
The ImageViewer control does not create a geometry object by itself, however you can set the value of Geometry to any System.Windows.Media.Geometry object or one of its derived classes (for example, a System.Windows.Media.PathGeometry) to simulate a region of interest. How the coordinates are calculated and what to do with this area is up to you since WPF/Silverlight System.Windows.Media.ImageSource and its derived classes do not use a region of interest.
The RasterImageViewer control is used to view a LEADTOOLS Leadtools.RasterImage object. This object has support for a region of interest that can be used to limit image processing effects to a certain area of the image of example. The Leadtools.RasterImage region is expressed with a Leadtools.RasterRegion object and you can use the RasterRegionConverter.ConvertToGeometry to convert the Leadtools.RasterRegion object to a WPF/Silverlight System.Windows.Media.Geometry object. When the region inside the Leadtools.RasterImage object being used with this RasterImageViewer is changed, the control will automatically creates a new System.Windows.Media.Geometry object and set in the Geometry property.
In either cases, to draw the geometry of the viewer, you must set the value of the GeometryFrameType property to GeometryFrameType.Fixed or GeometryFrameType.Animated. This value is set to GeometryFrameType.None by default which instructs the control to not draw the geometry.
Imports Leadtools.Windows.Controls Imports Leadtools.ImageProcessing Imports Leadtools.Codecs Imports Leadtools Private Shared Sub GeometryFrameTypeExample(ByVal viewer As RasterImageViewer) ' Clean any geometry and set the frame type to none ' These are the default values viewer.Geometry = Nothing viewer.GeometryFrameType = GeometryFrameType.None ' Load an image into the viewer Using codecs As New RasterCodecs() viewer.Image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")) End Using ' Set a region in the image Dim rc As New LeadRect(10, 10, viewer.Image.Width \ 3, viewer.Image.Height \ 3) viewer.Image.AddRectangleToRegion(Nothing, rc, RasterRegionCombineMode.Set) ' By default it is not visible MessageBox.Show("Frame: " + viewer.GeometryFrameType.ToString()) ' Set it to fixed viewer.GeometryFrameType = GeometryFrameType.Fixed MessageBox.Show("Frame: " + viewer.GeometryFrameType.ToString()) ' Finally, set it to animated viewer.GeometryFrameType = GeometryFrameType.Animated MessageBox.Show("Frame: " + viewer.GeometryFrameType.ToString()) End Sub Public NotInheritable Class LEAD_VARS Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" End Class
using Leadtools.Help; using Leadtools.Windows.Controls; using Leadtools.ImageProcessing; using Leadtools.Codecs; private static void GeometryFrameTypeExample(RasterImageViewer viewer) { // Clean any geometry and set the frame type to none // These are the default values viewer.Geometry = null; viewer.GeometryFrameType = GeometryFrameType.None; // Load an image into the viewer using(RasterCodecs codecs = new RasterCodecs()) { viewer.Image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")); } // Set a region in the image LeadRect rc = new LeadRect(10, 10, viewer.Image.Width / 3, viewer.Image.Height / 3); viewer.Image.AddRectangleToRegion(null, rc, RasterRegionCombineMode.Set); // By default it is not visible MessageBox.Show("Frame: " + viewer.GeometryFrameType.ToString()); // Set it to fixed viewer.GeometryFrameType = GeometryFrameType.Fixed; MessageBox.Show("Frame: " + viewer.GeometryFrameType.ToString()); // Finally, set it to animated viewer.GeometryFrameType = GeometryFrameType.Animated; MessageBox.Show("Frame: " + viewer.GeometryFrameType.ToString()); } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; }
<Window x:Class="WPFSamples.RasterImageViewer" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:Leadtools_Windows_Controls="clr-namespace:Leadtools.Windows.Controls;assembly=Leadtools.Windows.Controls" Height="600" Width="800"> <DockPanel> <Leadtools_Windows_Controls:RasterImageViewer Name="theViewer" Image="file:///c:\users\Public\Documents\LEADTOOLS Images\Image1.cmp" DockPanel.Dock= "Bottom" HorizontalAlignment="Center" VerticalAlignment="Bottom" UseDpi="false" GeometryFrameType="Animated"/> </DockPanel> <Window.Title> "GeometryFrameType" </Window.Title> </Window>