2013年03月20日

WPFサンプル:TransformGroupを使って、複数ブジェクト変形を合成する

   このエントリーをはてなブックマークに追加 Clip to Evernote
TransformGroupを使うと、複数のオブジェクトの変形(Transform)を合成することができます。
この複合変換では、個々の変換が行われる順序が重要となります。
回転やスケーリングは、原点を基準に行われますので、「移動したら回転」と「回転してから移動」では、
結果が異なります。
XAMLでは記述した順番に変形が行われます。

TransformGroup

TransformGroup2

TransformGroup3

ここでは以下の4つのオブジェクトで合成しています。
ScaleTransform 拡大縮小
RotateTransform 回転
SkewTransform 傾斜
TranslateTransform 移動

このサンプルアプリのXAMLを以下に示します。


このXAMLでは、TransformGroup に 4つの Transform オブジェクトを指定していますが、各Transform
オブジェクトのプロパティには何も設定していないので、実際には合成が行われていない状態と同じです。

C#のプログラムで、CheckBoxのチェック状態に応じて、各Transform オブジェクトのプロパティの値を
設定することで、効果を出しています。



 

この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/gushwell/52310186