文章分類

2013年9月5日 星期四

[ WPF ] 2D旋轉 RotateTransform

WPF提供了控制項的"旋轉"功能

(1) 
以旋轉一個名為ball的物件為例
旋轉前要先設定"旋轉中心"、"旋轉角度"

  RotateTransform rotate = new RotateTransform();
  rotate.Angle = "90";
  ball.RenderTransform = rotate;

說明:
旋轉不是"直接"旋轉,
而是要先建立一個虛擬旋轉物件(RotateTransform),
設定好此虛擬旋轉物件的內容(旋轉中心、角度),
再將真正要旋轉的控制項(此例為ball),
設定RenderTransform參照到虛擬的旋轉物件,才可真正旋轉。

註1: RenderTransform直翻就是: 使其旋轉 ... 很合邏輯^^
註2: 沒有設定旋轉中心的話,預設是以物件的左上角為中心。

(2) 
通常旋轉都要以其 "中心" 為基準

雖然有 CenterX, CenterY屬性可以設定,
但不是每個物件都有絕對座標可以拿來設定,
所以RenderTransformOrigin這個屬性,
用來設定相對位置,就比較好用摟!

  RotateTransform rotate = new RotateTransform();
  rotate.RenderTransformOrigin = new Point(0.5, 0.5);
  rotate.Angle = "90";
  ball.RenderTransform = rotate;

沒有留言:

張貼留言