LEADTOOLS WPF and Silverlight (Leadtools.Windows.Controls assembly)
LEAD Technologies, Inc

SizeMode Property (ImageBox)

Example 





Gets or sets a value that determine how the control displays the image and the automatic adjustments of the display. This is a dependency property. .NET support Silverlight support
Syntax
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);
public:
property SizeMode SizeMode {
   SizeMode get();
   void set (    SizeMode value);
}

Property Value

A SizeMode enumeration member value that determines how the control displays the image and the automatic adjustments of the display. Default value is SizeMode.Normal.
Remarks

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.

Example
Copy CodeCopy Code  
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>
Requirements

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

See Also

Reference

ImageBox Class
ImageBox Members

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.