Image Reflection
<UserControl x:Class='SilverlightApplication3.MainPage'
xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation'
xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'
xmlns:d='http://schemas.microsoft.com/expression/blend/2008'
xmlns:mc='http://schemas.openxmlformats.org/markup-compatibility/2006'
mc:Ignorable='d'
d:DesignWidth='640'
d:DesignHeight='480'>
<StackPanel x:Name="LayoutRoot" Background="Black" Orientation="Vertical" >
<StackPanel x:Name = "source" Height="256" Width="256" Orientation="Vertical" >
<Image Source="Buddy.png" ></Image>
</StackPanel>
<Image x:Name="target" Stretch="None" >
<Image.RenderTransform>
<TransformGroup>
<TranslateTransform Y="-256" />
<ScaleTransform ScaleY="-1" />
</TransformGroup>
</Image.RenderTransform>
<Image.OpacityMask>
<LinearGradientBrush EndPoint="0,1">
<GradientStop Color="White" Offset="1"/>
<GradientStop Offset="0"/>
</LinearGradientBrush>
</Image.OpacityMask>
</Image>
</StackPanel>
</UserControl>
//File: Page.xaml.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Windows.Media.Imaging;
namespace SilverlightApplication3
{
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
this.Loaded += new RoutedEventHandler(Reflection_Loaded);
}
void Reflection_Loaded(object sender, RoutedEventArgs e)
{
WriteableBitmap bmp = new WriteableBitmap((int)source.Width,(int)source.Height);
bmp.Render(source, new TranslateTransform());
target.Source = bmp;
}
}
}
Related examples in the same category