Mega Code Archive

 
Categories / Silverlight / Graphics
 

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