开发工具与关键技术:WPF C#
作者:黄济民
撰写时间:2021年11月5日
一、RenderTransform特效(变形)
WPF中的变形(RenderTransform)类是为了达到直接去改变某个Silverlight对象的形状(比如缩放、旋转一个元素)的目的而设计的,RenderTransform包含的变形属性成员就是专门用来改变Silverlight对象形状的,它可以实现对元素拉伸,旋转,扭曲等效果,同时变形特效也常用于辅助产生各种动画效果。
- RenderTransform类:
该类成员如下:
TranslateTransform:能够让某对象的位置发生平移变化。
RotateTransform:能够让某对象产生旋转变化,根据中心点进行顺时针旋转或逆时针旋转。
ScaleTransform:能够让某对象产生缩放变化。
SkewTransform:能够让某对象产生扭曲(斜角)变化。
TransformGroup:变换集合,能够让某对象的缩放、旋转、扭曲等变化效果合并起来使用(组合多个变换)。
MatrixTransform:能够让某对象通过矩阵算法实现更为复杂的变形。
变形元素包括平移变形、旋转变形、缩放变形、扭曲变形、矩阵变形和组合变形元素,
变形特效常用于在不改变对象本身构成的情况下,使对象产生变形效果,所以变形元素
常辅助产生Silverlight中的各种动画效果。
通常,对于MediaElement元素使用RenderTransform属性比使用LayoutTransform属性更
好,因为RenderTransform属性是轻量级的。而且它还可以使用方便的
RenderTransformOrigin属性值,从而可以为特定的变换(如旋转)使用相对坐标。
通常,对于MediaElement元素使用RenderTransform属性比使用LayoutTransform属性更
好,因为RenderTransform属性是轻量级的。而且它还可以使用方便的
RenderTransformOrigin属性值,从而可以为特定的变换(如旋转)使用相对坐标。
- TranslateTransform(平移变化):
包含X、Y 两种属性,以原来的对象为坐标原点(0,0),然后向X轴、Y轴进行平移变换。
下面使用XAML代码实现简单的页面演示:
<Grid>
<Canvas>
<!--定义两张图片-->
<Image Canvas.Top="48" Canvas.Left="55" Source="image/01.jpg"
Opacity="0.5" Width="213" Height="150"></Image>
<Image Canvas.Top="48" Canvas.Left="55" Source="image/01.jpg"
Width="213" Height="150">
<!--平移变化-->
<Image.RenderTransform>
<TranslateTransform X="60" Y="60">
</TranslateTransform>
</Image.RenderTransform>
</Image