Leadtools.Windows.Controls Namespace > ImageViewer Class : SizeMode Property |
public SizeMode SizeMode {get; set;}
'Declaration Public Property SizeMode As SizeMode
'Usage Dim instance As ImageViewer Dim value As SizeMode instance.SizeMode = value value = instance.SizeMode
public SizeMode SizeMode {get; set;}
get_SizeMode();
set_SizeMode(value);
The control will use the base class FrameworkElement.MeasureOverride to determine how to fit the image in the viewing area.
When using the SizeMode.Normal size mode with; The image size is determined by the image physical pixel width and height and the values of the UseDpi and ScaleFactor properties. The AspectRatioCorrection will also play a role in determining the image size of its value is other than 1. The viewing area size is determined from the current pixel size of the control client area.
When the using the SizeMode.Fit, SizeMode.FitAlways, SizeMode.FitWidth and SizeMode.Stretch size modes; the value of ScaleFactor will always be reset back to 1 and will not be used. Instead, use the read only CurrentXScaleFactor and CurrentYScaleFactor properties to get the actual scale factors used. Note that AspectRatioCorrection will still be used.
Private Class MyWindow1 : Inherits Window Private theViewer As ImageViewer Public Sub New() ' Create the viewer theViewer = New ImageViewer() ' 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.ImageHorizontalAlignment = HorizontalAlignment.Left theViewer.ImageVerticalAlignment = VerticalAlignment.Top theViewer.UseDpi = True theViewer.ScreenDpiX = 96 theViewer.ScreenDpiY = 96 panel.Children.Add(theViewer) ' load an image into the viewer theViewer.Source = New BitmapImage(New Uri(Path.Combine(LEAD_VARS.ImagesDir, "cannon.jpg"))) 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
class MyWindow1 : Window { ImageViewer theViewer; public MyWindow1() { // Create the viewer theViewer = new ImageViewer(); // Create Dock Panel DockPanel panel = new DockPanel(); Content = panel; DockPanel.SetDock(theViewer, Dock.Bottom); theViewer.HorizontalAlignment= HorizontalAlignment.Center; theViewer.VerticalAlignment= VerticalAlignment.Bottom; theViewer.ImageHorizontalAlignment = HorizontalAlignment.Left; theViewer.ImageVerticalAlignment = VerticalAlignment.Top; theViewer.UseDpi = true; theViewer.ScreenDpiX = 96; theViewer.ScreenDpiY = 96; panel.Children.Add(theViewer); // load an image into the viewer theViewer.Source = new BitmapImage(new Uri(Path.Combine(LEAD_VARS.ImagesDir, "cannon.jpg"))); 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"; }
class MyWindow1 : ChildWindow { ImageViewer theViewer; public MyWindow1() { // Create the viewer theViewer = new ImageViewer(); // Create Dock Panel StackPanel panel = new StackPanel(); Content = panel; theViewer.HorizontalAlignment= HorizontalAlignment.Center; theViewer.VerticalAlignment= VerticalAlignment.Bottom; theViewer.ImageHorizontalAlignment = HorizontalAlignment.Left; theViewer.ImageVerticalAlignment = VerticalAlignment.Top; theViewer.UseDpi = true; theViewer.ScreenDpiX = 96; theViewer.ScreenDpiY = 96; panel.Children.Add(theViewer); // load an image into the viewer theViewer.Source = new BitmapImage(new Uri(LeadtoolsExamples.Common.ImagesPath.Path + "cannon.jpg")); 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); } }
Private Class MyWindow1 : Inherits ChildWindow Private theViewer As ImageViewer Public Sub New() ' Create the viewer theViewer = New ImageViewer() ' Create Dock Panel Dim panel As StackPanel = New StackPanel() Content = panel theViewer.HorizontalAlignment = HorizontalAlignment.Center theViewer.VerticalAlignment = VerticalAlignment.Bottom theViewer.ImageHorizontalAlignment = HorizontalAlignment.Left theViewer.ImageVerticalAlignment = VerticalAlignment.Top theViewer.UseDpi = True theViewer.ScreenDpiX = 96 theViewer.ScreenDpiY = 96 panel.Children.Add(theViewer) ' load an image into the viewer theViewer.Source = New BitmapImage(New Uri(LeadtoolsExamples.Common.ImagesPath.Path & "cannon.jpg")) 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
<Window x:Class="WPFSamples.ImageViewer" 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:ImageViewer Name="theViewer" Source="file:///c:\users\Public\Documents\LEADTOOLS Images\cannon.jpg" DockPanel.Dock= "Bottom" HorizontalAlignment="Center" VerticalAlignment="Bottom" UseDpi="false" MouseDoubleClick="theViewer_MouseDoubleClick"/> </DockPanel> <Window.Title> "Size mode =Normal, double click to change" </Window.Title> </Window>
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2