Transformed image example


   
  
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    x:Class="ImageElementExample.TransformedImageExample"
    Title="Transformed Image Example"
    Loaded="PageLoaded">
   <Page.Resources>
      <BitmapImage x:Key="masterImage" UriSource="c:image.jpg"/>
   </Page.Resources>
   <DockPanel>
      <Image Source="{StaticResource masterImage}" Width="150" Margin="5"/>
      <Grid Name="transformedGrid">
         <Image Width="150" Margin="5" Grid.Column="0" Grid.Row="1">
           <Image.Source>
             <TransformedBitmap Source="c:image.jpg" >
               <TransformedBitmap.Transform>
                 <RotateTransform Angle="90"/>
               </TransformedBitmap.Transform>
             </TransformedBitmap>
           </Image.Source>
         </Image>
      </Grid>
   </DockPanel>
</Page>

//File:Window.xaml.cs
using System;
using System.Windows;
using System.Windows.Documents;
using System.Windows.Controls;
using System.Windows.Navigation;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;


namespace ImageElementExample
{
   public partial class TransformedImageExample : Page
   {
      public TransformedImageExample()
      {
      }

      public void PageLoaded(object sender, RoutedEventArgs args)
      {
         Image rotated90 = new Image();
         rotated90.Width = 150;

         TransformedBitmap tb = new TransformedBitmap();

         BitmapImage bi = new BitmapImage();
         bi.BeginInit();
         bi.UriSource = new Uri(@"file:///c:/image.jpg", UriKind.RelativeOrAbsolute);
         bi.EndInit();

         tb.BeginInit();
         tb.Source = bi;

         RotateTransform transform = new RotateTransform(90);
         tb.Transform = transform;
         tb.EndInit();

         rotated90.Source = tb;

         Grid.SetColumn(rotated90, 1);
         Grid.SetRow(rotated90, 1);
         transformedGrid.Children.Add(rotated90);
      }
   }
}

   
    
     


Use CroppedBitmap in code

   
  

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    x:Class="ImageElementExample.CroppedImageExample"
    Title="CroppedImage Example"
    Loaded="PageLoaded">
    <Page.Resources>
       <BitmapImage x:Key="masterImage" UriSource="c:image.jpg" />
       <CroppedBitmap x:Key="croppedImage" Source="{StaticResource masterImage}" SourceRect="30 20 105 50"/>
    </Page.Resources>
    <StackPanel>
         <Image Width="200" Source="{StaticResource masterImage}"/>
         <Image Width="200" Source="{StaticResource croppedImage}"/>
         <Image Width="200">
            <Image.Source>
               <CroppedBitmap Source="{StaticResource croppedImage}" SourceRect="30 0 75 50"/>
            </Image.Source>
         </Image>
   </StackPanel>
</Page>

//File:Window.xaml.cs
using System;
using System.Windows;
using System.Windows.Documents;
using System.Windows.Controls;
using System.Windows.Navigation;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;


namespace ImageElementExample
{
   public partial class CroppedImageExample : Page
   {
      public CroppedImageExample()
      {
      }

      public void PageLoaded(object sender, RoutedEventArgs args)
      {
         Image croppedImage = new Image();
         croppedImage.Width = 200;
         croppedImage.Margin = new Thickness(5);

         CroppedBitmap cb = new CroppedBitmap((BitmapSource)this.Resources["masterImage"],new Int32Rect(30, 20, 105, 50));  
         croppedImage.Source = cb;                 

         Image chainImage = new Image();
         chainImage.Width = 200;

         CroppedBitmap chained = new CroppedBitmap(cb,new Int32Rect(30, 0, (int)cb.Width-30, (int)cb.Height)); 
         chainImage.Source = chained;
      }
   }
}

   
    
     


Load image in your code and add to grid


   
  

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    x:Class="ImageElementExample.SimpleImageExample"
    Title="Simple Image Example"
    Loaded="PageLoaded">
   <DockPanel>
      <Grid Name="simpleGrid" ShowGridLines="False" VerticalAlignment="Center"
         HorizontalAlignment="Center">
      </Grid>  
      <Image Width="200" Margin="5" Source="c:image.jpg" />
      <Image Width="200"  Margin="5">
         <Image.Source>
            <BitmapImage UriSource="c:image.jpg" />
         </Image.Source>
      </Image>
   </DockPanel>
</Page>
//File:Window.xaml.cs


using System;
using System.Windows;
using System.Windows.Documents;
using System.Windows.Controls;
using System.Windows.Navigation;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;


namespace ImageElementExample
{
   public partial class SimpleImageExample : Page
   {
      public SimpleImageExample()
      {
      }

      public void PageLoaded(object sender, RoutedEventArgs args)
      {
         Image simpleImage = new Image();    
         simpleImage.Width = 200;
         simpleImage.Margin = new Thickness(5);
         
         BitmapImage bi = new BitmapImage();

         bi.BeginInit();
         bi.UriSource = new Uri(@"c:image.jpg",UriKind.RelativeOrAbsolute);
         bi.EndInit();

         simpleImage.Source = bi;

         Grid.SetColumn(simpleImage, 2);
         Grid.SetRow(simpleImage, 1);
         simpleGrid.Children.Add(simpleImage);
      }
   }
}

   
    
     


Load image with BitmapImage


   
  
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    x:Class="ImageElementExample.TransformedImageExample"
    Title="Transformed Image Example"
    Loaded="PageLoaded">
   <Page.Resources>
      <BitmapImage x:Key="masterImage" UriSource="c:image.jpg"/>
   </Page.Resources>
   <DockPanel>
      <Image Source="{StaticResource masterImage}" Width="150" Margin="5"/>
      <Grid Name="transformedGrid">
         <Image Width="150" Margin="5" Grid.Column="0" Grid.Row="1">
           <Image.Source>
             <TransformedBitmap Source="c:image.jpg" >
               <TransformedBitmap.Transform>
                 <RotateTransform Angle="90"/>
               </TransformedBitmap.Transform>
             </TransformedBitmap>
           </Image.Source>
         </Image>
      </Grid>
   </DockPanel>
</Page>
//File:Window.xaml.cs

using System;
using System.Windows;
using System.Windows.Documents;
using System.Windows.Controls;
using System.Windows.Navigation;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;


namespace ImageElementExample
{
   public partial class TransformedImageExample : Page
   {
      public TransformedImageExample()
      {
      }

      public void PageLoaded(object sender, RoutedEventArgs args)
      {
         Image rotated90 = new Image();
         rotated90.Width = 150;

         TransformedBitmap tb = new TransformedBitmap();

         BitmapImage bi = new BitmapImage();
         bi.BeginInit();
         bi.UriSource = new Uri(@"file:///c:/image.jpg", UriKind.RelativeOrAbsolute);
         bi.EndInit();

         tb.BeginInit();
         tb.Source = bi;

         RotateTransform transform = new RotateTransform(90);
         tb.Transform = transform;
         tb.EndInit();

         rotated90.Source = tb;

         Grid.SetColumn(rotated90, 1);
         Grid.SetRow(rotated90, 1);
         transformedGrid.Children.Add(rotated90);
      }
   }
}

   
    
     


Image as Resource


   
      
<Window x:Class="Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <Window.Resources>
        <ImageBrush ImageSource="c:image.jpg" x:Key="brSmile" />
    </Window.Resources>
    <Grid Background="{StaticResource brSmile}">
        
    </Grid>
</Window>