Image as Resource

image_pdfimage_print


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

   
    
    
    
    
    
     


Load image with BitmapImage

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

   
    
     


Load image in your code and add to grid

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

   
    
     


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

   
    
     


Transformed image example

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.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 Render Target Bitmap

image_pdfimage_print


   
  
<Window x:Class="BitmapProgramming.UseRenderTargetBitmap"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="BitmapProgramming" Height="300" Width="300">
  <Image x:Name="imageElement" />
</Window>

//File:Window.xaml.cs
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;

namespace BitmapProgramming
{
    public partial class UseRenderTargetBitmap : System.Windows.Window
    {
        public UseRenderTargetBitmap()
        {
            InitializeComponent();
            RenderTargetBitmap bmp = new RenderTargetBitmap(
                300, 150,     // Dimensions in physical pixels
                300, 300,     // Pixel resolution (dpi)
                PixelFormats.Pbgra32);

            Ellipse e = new Ellipse();
            e.Fill = Brushes.Red;
            e.Measure(new Size(96, 48));
            e.Arrange(new Rect(0, 0, 96, 48));

            bmp.Render(e);
            imageElement.Source = bmp;
        }
    }
}

   
    
     


Load image from a URI

image_pdfimage_print
   
  
<Window x:Class="BitmapProgramming.UseBitmapImage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="BitmapProgramming" Height="300" Width="300"
    >
</Window>


//File:Window.xaml.cs
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;

namespace BitmapProgramming
{
    public partial class UseBitmapImage : System.Windows.Window
    {
        public UseBitmapImage()
        {
            InitializeComponent();

            Image imageElement = new Image();
            imageElement.Source = new BitmapImage(new Uri("http://www.your host.com/a.jpg"));

            this.Content = imageElement;

        }

    }
}