Use CroppedBitmap in code

image_pdfimage_print
   
  

<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;
      }
   }
}