Leadtools.Windows.Controls Namespace > ImageBox Class : SizeMode Property |
public SizeMode SizeMode {get; set;}
'Declaration Public Property SizeMode As SizeMode
'Usage Dim instance As ImageBox 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 theImage As ImageBox Public Sub New() ' Create the viewer theImage = New ImageBox() ' Create Dock Panel Dim panel As DockPanel = New DockPanel() Content = panel DockPanel.SetDock(theImage, Dock.Bottom) theImage.HorizontalAlignment = HorizontalAlignment.Center theImage.VerticalAlignment = VerticalAlignment.Bottom theImage.UseDpi = True theImage.ScreenDpiX = 96 theImage.ScreenDpiY = 96 panel.Children.Add(theImage) ' load an image into the viewer theImage.Source = New BitmapImage(New Uri(Path.Combine(LEAD_VARS.ImagesDir, "cannon.jpg"))) Title = String.Format("Size mode = {0}, click to change", theImage.SizeMode) AddHandler theImage.MouseDown, AddressOf theImage_MouseClick End Sub Private Sub theImage_MouseClick(ByVal sender As Object, ByVal e As MouseButtonEventArgs) Select Case theImage.SizeMode Case SizeMode.Normal theImage.SizeMode = SizeMode.Stretch Case SizeMode.Stretch theImage.SizeMode = SizeMode.Fit Case SizeMode.Fit theImage.SizeMode = SizeMode.FitAlways Case SizeMode.FitAlways theImage.SizeMode = SizeMode.FitWidth Case SizeMode.FitWidth theImage.SizeMode = SizeMode.Normal End Select Title = String.Format("Size mode = {0}, double click to change", theImage.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 { ImageBox theImage; public MyWindow1() { // Create the viewer theImage = new ImageBox(); // Create Dock Panel DockPanel panel = new DockPanel(); Content = panel; DockPanel.SetDock(theImage, Dock.Bottom); theImage.HorizontalAlignment = HorizontalAlignment.Center; theImage.VerticalAlignment= VerticalAlignment.Bottom; theImage.UseDpi = true; theImage.ScreenDpiX = 96; theImage.ScreenDpiY = 96; panel.Children.Add(theImage); // load an image into the viewer theImage.Source = new BitmapImage(new Uri(Path.Combine(LEAD_VARS.ImagesDir, "cannon.jpg"))); Title = string.Format("Size mode = {0}, click to change", theImage.SizeMode); theImage.MouseDown += new MouseButtonEventHandler(theImage_MouseClick); } void theImage_MouseClick(object sender, MouseButtonEventArgs e) { switch(theImage.SizeMode) { case SizeMode.Normal: theImage.SizeMode = SizeMode.Stretch; break; case SizeMode.Stretch: theImage.SizeMode = SizeMode.Fit; break; case SizeMode.Fit: theImage.SizeMode = SizeMode.FitAlways; break; case SizeMode.FitAlways: theImage.SizeMode = SizeMode.FitWidth; break; case SizeMode.FitWidth: theImage.SizeMode = SizeMode.Normal; break; } Title = string.Format("Size mode = {0}, double click to change", theImage.SizeMode); } } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; }
class MyWindow1 : ChildWindow { ImageBox theImage; public MyWindow1() { // Create the viewer theImage = new ImageBox(); // Create Dock Panel StackPanel panel = new StackPanel(); Content = panel; theImage.HorizontalAlignment = HorizontalAlignment.Center; theImage.VerticalAlignment= VerticalAlignment.Bottom; theImage.UseDpi = true; theImage.ScreenDpiX = 96; theImage.ScreenDpiY = 96; panel.Children.Add(theImage); // load an image into the viewer theImage.Source = new BitmapImage(new Uri(LeadtoolsExamples.Common.ImagesPath.Path + "cannon.jpg")); Title = string.Format("Size mode = {0}, click to change", theImage.SizeMode); theImage.MouseLeftButtonDown +=new MouseButtonEventHandler(theImage_MouseLeftButtonDown); } void theImage_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { switch (theImage.SizeMode) { case SizeMode.Normal: theImage.SizeMode = SizeMode.Stretch; break; case SizeMode.Stretch: theImage.SizeMode = SizeMode.Fit; break; case SizeMode.Fit: theImage.SizeMode = SizeMode.FitAlways; break; case SizeMode.FitAlways: theImage.SizeMode = SizeMode.FitWidth; break; case SizeMode.FitWidth: theImage.SizeMode = SizeMode.Normal; break; } Title = string.Format("Size mode = {0}, double click to change", theImage.SizeMode); } }
Private Class MyWindow1 : Inherits ChildWindow Private theImage As ImageBox Public Sub New() ' Create the viewer theImage = New ImageBox() ' Create Dock Panel Dim panel As StackPanel = New StackPanel() Content = panel theImage.HorizontalAlignment = HorizontalAlignment.Center theImage.VerticalAlignment= VerticalAlignment.Bottom theImage.UseDpi = True theImage.ScreenDpiX = 96 theImage.ScreenDpiY = 96 panel.Children.Add(theImage) ' load an image into the viewer theImage.Source = New BitmapImage(New Uri(LeadtoolsExamples.Common.ImagesPath.Path & "cannon.jpg")) Title = String.Format("Size mode = {0}, click to change", theImage.SizeMode) AddHandler theImage.MouseLeftButtonDown, AddressOf theImage_MouseLeftButtonDown End Sub Private Sub theImage_MouseLeftButtonDown(ByVal sender As Object, ByVal e As MouseButtonEventArgs) Select Case theImage.SizeMode Case SizeMode.Normal theImage.SizeMode = SizeMode.Stretch Case SizeMode.Stretch theImage.SizeMode = SizeMode.Fit Case SizeMode.Fit theImage.SizeMode = SizeMode.FitAlways Case SizeMode.FitAlways theImage.SizeMode = SizeMode.FitWidth Case SizeMode.FitWidth theImage.SizeMode = SizeMode.Normal End Select Title = String.Format("Size mode = {0}, double click to change", theImage.SizeMode) End Sub End Class
<!--WPF example--> <Window x:Class="WPFSamples.ImageBox" 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:ImageBox Name="theImage" Source="file:///c:\users\Public\Documents\LEADTOOLS Images\cannon.jpg" DockPanel.Dock= "Bottom" HorizontalAlignment="Center" VerticalAlignment="Bottom" SizeMode="Fit" UseDpi="true"> </Leadtools_Windows_Controls:ImageBox > </DockPanel> <Window.Title> "Apply a effect" </Window.Title> </Window> <!--Silverlight example--> <UserControl x:Class="SilverlightApplication1.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:Leadtools_Windows_Controls="clr-namespace:Leadtools.Windows.Controls;assembly=Leadtools.Windows.Controls" mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="400"> <Grid x:Name="LayoutRoot" Background="White"> <Leadtools_Windows_Controls:ImageBox Name="theImage" Source="http://www.MyServer.com/images/MyImage.png" HorizontalAlignment="Center" VerticalAlignment="Bottom" SizeMode="Fit" UseDpi="true"> </Leadtools_Windows_Controls:ImageBox > </Grid> </UserControl>
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