Represents a scrollable control that displays a LEADTOOLS Leadtools.RasterImage in WPF/Silverlight with interactive UI operations.
public class RasterImageViewer : ImageViewer
Public Class RasterImageViewer
Inherits Leadtools.Windows.Controls.ImageViewer
Implements System.ComponentModel.ISupportInitialize, System.Windows.IFrameworkInputElement, System.Windows.IInputElement, System.Windows.Markup.IAddChild, System.Windows.Markup.IQueryAmbient, System.Windows.Media.Animation.IAnimatable
public ref class RasterImageViewer : public Leadtools.Windows.Controls.ImageViewer, System.ComponentModel.ISupportInitialize, System.Windows.IFrameworkInputElement, System.Windows.IInputElement, System.Windows.Markup.IAddChild, System.Windows.Markup.IQueryAmbient, System.Windows.Media.Animation.IAnimatable
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:
Viewing a LEADTOOLS Leadtools.RasterImage object in WPF/Silverlight applications using the Image property.
In WPF/Silverlight, an image that is displayed must be an System.Windows.Media.ImageSource or one of its derived classes, the RasterImageViewer control keeps the ImageViewer.Source property synchronized with RasterImageViewer.Image, any changes that occur to the LEADTOOLS Leadtools.RasterImage is reflected in the Source property and a standard System.Windows.FrameworkPropertyMetadata.AffectsMeasure or System.Windows.FrameworkPropertyMetadata.AffectsRender is performed. Also, this control will subscribe to the RasterImage.Changed to monitor any changes that may occur to the image (through image processing for example) and reflect these changes to the Source property.
If the Source property is changed, the RasterImageViewer must be informed so it can reflect the changes into the Image object. The UpdateImageFromSource can be used to perform this task.
using Leadtools.Help;
using Leadtools.Windows.Controls;
using Leadtools.ImageProcessing;
using Leadtools.Codecs;
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";
}
Imports Leadtools.Windows.Controls
Imports Leadtools.ImageProcessing
Imports Leadtools.Codecs
Imports Leadtools
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
using Leadtools.Help;
using Leadtools.Windows.Controls;
using Leadtools.ImageProcessing;
using Leadtools.Codecs;
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);
}
}
Imports Leadtools
Imports Leadtools.Windows.Controls
Imports Leadtools.ImageProcessing
Imports Leadtools.Codecs
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
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET