天天看點

XAML的RenderTransform特效

 WPF中通過RenderTransform類的變形來達到改變某個對象的形象,例如縮放,扭曲一個元素的目的而設計的。RenderTransform包含的變形屬性成員就是專門 用來改變Silverlight對象形狀的,它可以實作對元素拉伸,旋轉,扭曲等效果,同時變形特 效也常用于輔助産生各種動畫效果。

   RenderTransform類下面有6種類成員:TranslateTransform:能夠讓對象的位置平移 , RotateTransform:根據中心點來讓對象進行順時針旋轉或逆時針旋轉 , ScaleTransform:讓對象進行縮放變化 , SkewTransform :讓對象進行扭曲, TransformGroup: 能夠讓某對象的縮放、旋轉、扭曲等變化效果合并起來使用 , MatrixTransform:讓對象通過矩陣算法實作更為複雜的變形。RenderTransform類就包含這幾類變形的元素,同時也是輕量級的。通過改變X軸和Y軸的改變來産生新的動畫效果。通過RenderTransform類等到的動畫都會先确認中心點,然後改變X,Y軸的位置和角度就會有新的動畫效果。

  1. TranslateTransform(平移):通過對象的X,Y軸的平移變換來改變新的動畫效果,這也是我們最常見的一種動畫
XAML的RenderTransform特效
XAML的RenderTransform特效
  1. RotateTransform(旋轉):改變旋轉的中心的X,Y軸,然後改變旋轉角度(Angle),
    XAML的RenderTransform特效
XAML的RenderTransform特效
  1. ScaleTransform(縮放):包括屬性ScaleX、ScaleY、CenterX、CenterY,其中ScaleX、ScaleY屬性表示對象在X、Y軸進行縮放的倍數,使 用CenterX 和 CenterY屬性指定一個中心點。
    XAML的RenderTransform特效
    XAML的RenderTransform特效
  2. SkewTransform(扭曲變化):

在扭曲變化變化中用到的屬性包括AngleX ,AngleY , CenterX , CenterY。

AngleX是讓元素相對于X軸傾斜的角度 , 同理AngleY是相對于Y軸。CenterX,Y則是中心點

XAML的RenderTransform特效
XAML的RenderTransform特效
  1. TransformGroup的效果就是縮放,旋轉,扭曲的變化加起來的。如果想要實作多種效果疊加起來的話就要用TransformGroup,不然會報錯。TransformGroup的作用就把多種變化元素和成一種。
  2. MatrixTransform矩陣變換:通過不同的算法來達到這個效果。設定矩陣的中心點,X,Y軸的改變就可以的到一組新的動畫