<Window x:Class="TransformationDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="240" Width="700">
<StackPanel Orientation="Horizontal">
<Canvas Margin="5" Background="Green" Height="120" Width="120">
<Canvas.LayoutTransform>
<ScaleTransform ScaleX="1.5" ScaleY="1.5" />
</Canvas.LayoutTransform>
<Path Canvas.Top="0" Canvas.Left="0" Stroke="Black" >
<Path.Fill>
<RadialGradientBrush GradientOrigin="0.2,0.2">
<GradientStop Offset="0" Color="LightBlue" />
<GradientStop Offset="0.6" Color="Blue" />
<GradientStop Offset="1.0" Color="DarkBlue" />
</RadialGradientBrush>
</Path.Fill>
<Path.Data>
<CombinedGeometry GeometryCombineMode="Union">
<CombinedGeometry.Geometry1>
<EllipseGeometry Center="60,60" RadiusX="60" RadiusY="40" />
</CombinedGeometry.Geometry1>
<CombinedGeometry.Geometry2>
<RectangleGeometry Rect="20,60 85 50" />
</CombinedGeometry.Geometry2>
</CombinedGeometry>
</Path.Data>
</Path>
<Ellipse Canvas.Left="30" Canvas.Top="35" Width="25" Height="20" Stroke="Blue" StrokeThickness="3" Fill="White" />
<Ellipse Canvas.Left="40" Canvas.Top="43" Width="6" Height="5" Fill="Black" />
<Ellipse Canvas.Left="65" Canvas.Top="35" Width="25" Height="20" Stroke="Blue" StrokeThickness="3" Fill="White" />
<Ellipse Canvas.Left="75" Canvas.Top="43" Width="6" Height="5" Fill="Black" />
<Path Name="mouth" Stroke="Red" StrokeThickness="4" Data="M 40,74 Q 57,95 80,74 " />
</Canvas>
<Canvas Background="Red" Height="120" Width="120">
<Canvas.LayoutTransform>
<RotateTransform Angle="40" />
</Canvas.LayoutTransform>
<Path Canvas.Top="0" Canvas.Left="0" Stroke="Black" >
<Path.Fill>
<RadialGradientBrush GradientOrigin="0.2,0.2">
<GradientStop Offset="0" Color="LightBlue" />
<GradientStop Offset="0.6" Color="Blue" />
<GradientStop Offset="1.0" Color="DarkBlue" />
</RadialGradientBrush>
</Path.Fill>
<Path.Data>
<CombinedGeometry GeometryCombineMode="Union">
<CombinedGeometry.Geometry1>
<EllipseGeometry Center="60,60" RadiusX="60" RadiusY="40" />
</CombinedGeometry.Geometry1>
<CombinedGeometry.Geometry2>
<RectangleGeometry Rect="20,60 85 50" />
</CombinedGeometry.Geometry2>
</CombinedGeometry>
</Path.Data>
</Path>
<Ellipse Canvas.Left="30" Canvas.Top="35" Width="25" Height="20" Stroke="Blue" StrokeThickness="3" Fill="White" />
<Ellipse Canvas.Left="40" Canvas.Top="43" Width="6" Height="5" Fill="Black" />
<Ellipse Canvas.Left="65" Canvas.Top="35" Width="25" Height="20" Stroke="Blue" StrokeThickness="3" Fill="White" />
<Ellipse Canvas.Left="75" Canvas.Top="43" Width="6" Height="5" Fill="Black" />
<Path Stroke="Red" StrokeThickness="4" Data="M 40,74 Q 57,95 80,74 " />
</Canvas>
<Canvas Background="BlanchedAlmond" Height="120" Width="120">
<Canvas.LayoutTransform>
<SkewTransform AngleX="20" AngleY="25" />
</Canvas.LayoutTransform>
<Path Canvas.Top="0" Canvas.Left="0" Stroke="Black" >
<Path.Fill>
<RadialGradientBrush GradientOrigin="0.2,0.2">
<GradientStop Offset="0" Color="LightBlue" />
<GradientStop Offset="0.6" Color="Blue" />
<GradientStop Offset="1.0" Color="DarkBlue" />
</RadialGradientBrush>
</Path.Fill>
<Path.Data>
<CombinedGeometry GeometryCombineMode="Union">
<CombinedGeometry.Geometry1>
<EllipseGeometry Center="60,60" RadiusX="60" RadiusY="40" />
</CombinedGeometry.Geometry1>
<CombinedGeometry.Geometry2>
<RectangleGeometry Rect="20,60 85 50" />
</CombinedGeometry.Geometry2>
</CombinedGeometry>
</Path.Data>
</Path>
<Ellipse Canvas.Left="30" Canvas.Top="35" Width="25" Height="20" Stroke="Blue" StrokeThickness="3" Fill="White" />
<Ellipse Canvas.Left="40" Canvas.Top="43" Width="6" Height="5" Fill="Black" />
<Ellipse Canvas.Left="65" Canvas.Top="35" Width="25" Height="20" Stroke="Blue" StrokeThickness="3" Fill="White" />
<Ellipse Canvas.Left="75" Canvas.Top="43" Width="6" Height="5" Fill="Black" />
<Path Stroke="Red" StrokeThickness="4" Data="M 40,74 Q 57,95 80,74 " />
</Canvas>
<Canvas Background="Aqua" Height="120" Width="120">
<Canvas.LayoutTransform>
<MatrixTransform>
<MatrixTransform.Matrix>
<Matrix M11="0.8" M22="1.9" M12="1.3" M21="0.4" />
</MatrixTransform.Matrix>
</MatrixTransform>
</Canvas.LayoutTransform>
<Path Canvas.Top="0" Canvas.Left="0" Stroke="Black" >
<Path.Fill>
<RadialGradientBrush GradientOrigin="0.2,0.2">
<GradientStop Offset="0" Color="LightBlue" />
<GradientStop Offset="0.6" Color="Blue" />
<GradientStop Offset="1.0" Color="DarkBlue" />
</RadialGradientBrush>
</Path.Fill>
<Path.Data>
<CombinedGeometry GeometryCombineMode="Union">
<CombinedGeometry.Geometry1>
<EllipseGeometry Center="60,60" RadiusX="60" RadiusY="40" />
</CombinedGeometry.Geometry1>
<CombinedGeometry.Geometry2>
<RectangleGeometry Rect="20,60 85 50" />
</CombinedGeometry.Geometry2>
</CombinedGeometry>
</Path.Data>
</Path>
<Ellipse Canvas.Left="30" Canvas.Top="35" Width="25" Height="20" Stroke="Blue" StrokeThickness="3" Fill="White" />
<Ellipse Canvas.Left="40" Canvas.Top="43" Width="6" Height="5" Fill="Black" />
<Ellipse Canvas.Left="65" Canvas.Top="35" Width="25" Height="20" Stroke="Blue" StrokeThickness="3" Fill="White" />
<Ellipse Canvas.Left="75" Canvas.Top="43" Width="6" Height="5" Fill="Black" />
<Path Stroke="Red" StrokeThickness="4" Data="M 40,74 Q 57,95 80,74 " />
</Canvas>
</StackPanel>
</Window>
|