<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;
}
}
}
Windows Presentation Foundation
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>
Image element
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
HorizontalAlignment="Center" VerticalAlignment="Center">
<Image Source="http://www.yourURL.com/image.jpeg" />
</Page>
Using the Jpeg Image
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Using the Jpeg Image" Height="300" Width="300"
>
<Canvas>
<Image Source="c:image.jpg" />
</Canvas>
</Window>
Set tooltip for Image
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="WPF" Height="300" Width="400">
<StackPanel Orientation="Horizontal">
<Image Margin="-30" Opacity=".7" Source="c:image.gif"
ToolTip="Middle Image" Width="150" />
</StackPanel>
</Window>