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