WPF中的变形(RenderTransform)类是为了达到直接去改变某个Silverlight对象的形状(比 如缩放、旋转一个元素)的目的而设计的,RenderTransform包含的变形属性成员就是专门 用来改变Silverlight对象形状的。
RenderTransform该类成员如下:
TranslateTransform:能够让某对象的位置发生平移变化。
代码:
<Grid>
<Image Source="imgs/316323.jpg"
Opacity="0.5" Width='500' Height="200"></Image>
<Image Canvas.Top="160" Canvas.Left="140" Source="imgs/316323.jpg" Width='500' Height="200">
<Image.RenderTransform>
<TranslateTransform X="120" Y="120">
</TranslateTransform>
</Image.RenderTransform>
</Image>
</Grid>
以原来的对象为坐标原点(0,0),然后向X轴、Y轴进行平移变换。
效果图:
RotateTransform(旋转变化): 能够让某对象的位置发生旋转变化。
代码:
<Grid>
<Image Canvas.Top="160" Canvas.Left="140" Width="200" Source="Imgs/316323.jpg"
Opacity="0.5"></Image>
<Image Canvas.Top="160" Canvas.Left="140" Width="200" Source="Imgs/316323.jpg">
<Image.RenderTransform>
<RotateTransform Angle="45" CenterX="0" CenterY="0">
</RotateTransform>
</Image.RenderTransform>
</Image> </Grid>
以原来的对象为坐标原点(0,0),进行旋转变化
效果图:
TransformGroup:要实现多种效果的叠加,就要使用到TransformGroup,否则会报错。TransformGroup的作用类似于在控件布局中的StackPanel内嵌的作用。
代码:
<Canvas Width="640" Height="480">
<Rectangle Canvas.Top="20" Canvas.Left="200" Width="300" Height="300" Stroke="Black" StrokeThickness="5">
<Rectangle.RenderTransform>
<TransformGroup>
<!--RotateTransform 变换-->
<RotateTransform Angle="10"></RotateTransform>
<!-- SkewTransform变换-->
<SkewTransform AngleX="-10" AngleY="30" CenterX="20" CenterY="50"></SkewTransform>
</TransformGroup>
</Rectangle.RenderTransform>
<Rectangle.Fill>
<ImageBrush ImageSource="Imgs/316323.jpg"></ImageBrush>
</Rectangle.Fill>
</Rectangle>
</Canvas>
效果图: