LEADTOOLS WPF and Silverlight (Leadtools.Windows.Controls assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.30
RasterImageViewer Class
See Also  Members  
Leadtools.Windows.Controls Namespace : RasterImageViewer Class



Represents a scrollable control that displays a LEADTOOLS Leadtools.RasterImage in WPF/Silverlight with interactive UI operations. Supported in Silverlight, Windows Phone 7

Object Model

RasterImageViewer ClassMagnifyGlass Class

Syntax

Visual Basic (Declaration) 
Public Class RasterImageViewer 
   Inherits ImageViewer
   Implements ISupportInitializeIFrameworkInputElementIInputElementIAddChildIAnimatable 
Visual Basic (Usage)Copy Code
Dim instance As RasterImageViewer
C++/CLI 
public ref class RasterImageViewer : public ImageViewer, ISupportInitializeIFrameworkInputElementIInputElementIAddChildIAnimatable  

Example

Visual BasicCopy Code
Private Class MyWindow1 : Inherits Window
      Private theViewer As RasterImageViewer
      Public Sub New()
         ' Create the viewer
         theViewer = New RasterImageViewer()

         ' Create Dock Panel

         Dim panel As DockPanel = New DockPanel()
         Content = panel

         DockPanel.SetDock(theViewer, Dock.Bottom)

         theViewer.HorizontalAlignment = HorizontalAlignment.Center
         theViewer.VerticalAlignment = VerticalAlignment.Bottom
         theViewer.UseDpi = True

         panel.Children.Add(theViewer)

         ' Load an image into the viewer

         Using codecs As RasterCodecs = New RasterCodecs()
            theViewer.Image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"), 1, CodecsLoadByteOrder.Bgr, 1, 1)
         End Using

         Dim flip As FlipCommand = New FlipCommand()
         flip.Run(theViewer.Image)

         Title = String.Format("Size mode = {0}, double click to change", theViewer.SizeMode)

         AddHandler theViewer.MouseDoubleClick, AddressOf theViewer_MouseDoubleClick
      End Sub

      Private Sub theViewer_MouseDoubleClick(ByVal sender As Object, ByVal e As MouseButtonEventArgs)
         Select Case theViewer.SizeMode
            Case SizeMode.Normal
               theViewer.SizeMode = SizeMode.Stretch

            Case SizeMode.Stretch
               theViewer.SizeMode = SizeMode.Fit

            Case SizeMode.Fit
               theViewer.SizeMode = SizeMode.FitAlways

            Case SizeMode.FitAlways
               theViewer.SizeMode = SizeMode.FitWidth

            Case SizeMode.FitWidth
               theViewer.SizeMode = SizeMode.Normal
         End Select

         Title = String.Format("Size mode = {0}, double click to change", theViewer.SizeMode)

      End Sub
   End Class

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
C#Copy Code
class MyWindow1 : Window
   {
      RasterImageViewer theViewer;
      public MyWindow1()
      {
         // Create the viewer
         theViewer = new RasterImageViewer();

         // Create Dock Panel

         DockPanel panel = new DockPanel();
         Content = panel;

         DockPanel.SetDock(theViewer, Dock.Bottom);

         theViewer.HorizontalAlignment = HorizontalAlignment.Center;
         theViewer.VerticalAlignment = VerticalAlignment.Bottom;
         theViewer.UseDpi = true;

         panel.Children.Add(theViewer);

         // Load an image into the viewer

         using (RasterCodecs codecs = new RasterCodecs())
         {
            theViewer.Image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"), 1, Leadtools.Codecs.CodecsLoadByteOrder.Bgr, 1, 1);
         }

         FlipCommand flip = new FlipCommand();
         flip.Run(theViewer.Image);

         Title = string.Format("Size mode = {0}, double click to change", theViewer.SizeMode);

         theViewer.MouseDoubleClick += new MouseButtonEventHandler(theViewer_MouseDoubleClick);
      }

      void theViewer_MouseDoubleClick(object sender, MouseButtonEventArgs e)
      {
         switch (theViewer.SizeMode)
         {
            case SizeMode.Normal:
               theViewer.SizeMode = SizeMode.Stretch;
               break;

            case SizeMode.Stretch:
               theViewer.SizeMode = SizeMode.Fit;
               break;

            case SizeMode.Fit:
               theViewer.SizeMode = SizeMode.FitAlways;
               break;

            case SizeMode.FitAlways:
               theViewer.SizeMode = SizeMode.FitWidth;
               break;

            case SizeMode.FitWidth:
               theViewer.SizeMode = SizeMode.Normal;
               break;
         }

         Title = string.Format("Size mode = {0}, double click to change", theViewer.SizeMode);

      }
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
SilverlightCSharpCopy Code
class MyWindow1 : ChildWindow
{
   RasterImageViewer theViewer;
   public MyWindow1()
   {
      // Create the viewer
      theViewer = new RasterImageViewer();

      // Create Dock Panel

      StackPanel panel = new StackPanel();
      Content = panel;

      theViewer.HorizontalAlignment = HorizontalAlignment.Center;
      theViewer.VerticalAlignment = VerticalAlignment.Bottom;
      theViewer.UseDpi = true;

      panel.Children.Add(theViewer);

      // Load an image into the viewer

      RasterCodecs codecs = new RasterCodecs();
      theViewer.Image = codecs.Load(LeadtoolsExamples.Common.ImagesPath.Path + "Image1.cmp", 1, Leadtools.Codecs.CodecsLoadByteOrder.Bgr, 1, 1);

      FlipCommand flip = new FlipCommand();
      flip.Run(theViewer.Image);

      Title = string.Format("Size mode = {0}, double click to change", theViewer.SizeMode);

      theViewer.MouseLeftButtonDown += new MouseButtonEventHandler(theViewer_MouseLeftButtonDown);
   }

   void theViewer_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
   {
      switch (theViewer.SizeMode)
      {
         case SizeMode.Normal:
            theViewer.SizeMode = SizeMode.Stretch;
            break;

         case SizeMode.Stretch:
            theViewer.SizeMode = SizeMode.Fit;
            break;

         case SizeMode.Fit:
            theViewer.SizeMode = SizeMode.FitAlways;
            break;

         case SizeMode.FitAlways:
            theViewer.SizeMode = SizeMode.FitWidth;
            break;

         case SizeMode.FitWidth:
            theViewer.SizeMode = SizeMode.Normal;
            break;
      }

      Title = string.Format("Size mode = {0}, double click to change", theViewer.SizeMode);
   }
}
SilverlightVBCopy Code
Private Class MyWindow1 : Inherits ChildWindow
   Private theViewer As RasterImageViewer
   Public Sub New()
      ' Create the viewer
      theViewer = New RasterImageViewer()

      ' Create Dock Panel

      Dim panel As StackPanel = New StackPanel()
      Content = panel

      theViewer.HorizontalAlignment = HorizontalAlignment.Center
      theViewer.VerticalAlignment = VerticalAlignment.Bottom
      theViewer.UseDpi = True

      panel.Children.Add(theViewer)

      ' Load an image into the viewer

      Dim codecs As RasterCodecs = New RasterCodecs()
      theViewer.Image = codecs.Load(LeadtoolsExamples.Common.ImagesPath.Path & "Image1.cmp", 1, CodecsLoadByteOrder.Bgr, 1, 1)

      Dim flip As FlipCommand = New FlipCommand()
      flip.Run(theViewer.Image)

      Title = String.Format("Size mode = {0}, double click to change", theViewer.SizeMode)

      AddHandler theViewer.MouseLeftButtonDown, AddressOf theViewer_MouseLeftButtonDown
   End Sub

   Private Sub theViewer_MouseLeftButtonDown(ByVal sender As Object, ByVal e As MouseButtonEventArgs)
      Select Case theViewer.SizeMode
         Case SizeMode.Normal
            theViewer.SizeMode = SizeMode.Stretch

         Case SizeMode.Stretch
            theViewer.SizeMode = SizeMode.Fit

         Case SizeMode.Fit
            theViewer.SizeMode = SizeMode.FitAlways

         Case SizeMode.FitAlways
            theViewer.SizeMode = SizeMode.FitWidth

         Case SizeMode.FitWidth
            theViewer.SizeMode = SizeMode.Normal
      End Select

      Title = String.Format("Size mode = {0}, double click to change", theViewer.SizeMode)
   End Sub
End Class
XAMLCopy Code
<Window x:Class="WPFSamples.RasterImageViewer" Height="600" Width="800" 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">
  <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" />
  </DockPanel>
  <Window.Title>
        "RasterImageViewer"
      </Window.Title>
</Window>

Remarks

The RasterImageViewer class derives from ImageViewer and adds functionality to display a LEADTOOLS Leadtools.RasterImage object in WPF/Silverlight applications. To display a System.Windows.Media.ImageSource or one of its derived classes, use the ImageViewer control.

In addition to all the features supported by the ImageViewer class, RasterImageViewer adds the following:

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
                        Leadtools.Windows.Controls.ImageViewer
                           Leadtools.Windows.Controls.RasterImageViewer

Requirements

Target Platforms: Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family

See Also