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