|
Transform |
작성자 : 주옥찬 |
|
작성일 : 2011-04-17 | |
|
주 제 : 새로운 Class 학습 | |
Transform Class
- 2차원 평면에서의 변환을 가능하게 하는 클래스
변환 종류
|
동작 | |
|
2차원x-y좌표계에서 지정한 점을 개체를 시계 방향으로 회전합니다. | |
|
2차원x-y좌표계에서 지정한 점을 개체의 배율을 조정합니다. | |
|
2차원 기울이기를 나타낸다. | |
|
2차원x-y좌표계에서 변환(이동)합니다. |
- RotateTransform(회전) 소스
XMEL
|
<StackPanel> <Button x:Name="ButtonName" Height="100" Width="200" Background="Yellow" HorizontalAlignment="Center" Margin="100">움직이는 버튼</Button> <Button Click="Button_Click">변환</Button> </StackPanel> |
|
Button 생성 Button백 그라운드 Yello 크기 100 200으로 설정 |
C#
|
RotateTransform rotateTransform = new RotateTransform(45); //rotateTransform.CenterX = 25; //rotateTransform.CenterY = 50; ButtonName.RenderTransform = rotateTransform; |
|
X,Y는 개체가 회전하는 중심점을 지정하는데 필요 없어서X RotateTransform(45) : X,Y지점을 중심으로 45도 시계방향으로 회전 |
결과
|
|
|
- ScaleTransform(배율) 소스
XMEL
|
<StackPanel> <Rectangle x:Name="DemoRectangle" Height="50" Width="50" Fill="Blue" Margin="50"></Rectangle> <Button Click="Button_Click">변환</Button> </StackPanel> |
|
배율할 Rectangle 생성 |
C#
|
ScaleTransform scaleTransform = new ScaleTransform(2, 2); DemoRectangle.RenderTransform = scaleTransform; |
|
Center X, Center Y는 기본값 0으로 됨 ScaleTransform(2, 2) : ScaleX를2로ScaleY를2로 했다. 너비가 200% 높이가 200% 늘어난다. |
결과
|
|
|
-SkewTransform(기울이기) 소스
XMEL
|
<StackPanel> <Rectangle x:Name="DemoRectangle" Height="50" Width="50" Fill="Yellow" Stroke="Blue" Margin="30"> </Rectangle> <Button Click="Button_Click">변환</Button> </StackPanel> |
|
기울이기할Rectangle 생성 |
C#
|
SkewTransform skewTransform = new SkewTransform(45, 0); DemoRectangle.RenderTransform = skewTransform; |
|
Center X, Center Y는 기본값 0으로 됨 ScaleTransform(45, 0) : AngleX를 설정시 가로로 X만큼 AngleY를 설정시 세로로 기울이기가 된다. |
결과
|
|
|
-TranslateTransform(이동) 소스
XMEL
|
<StackPanel> <Rectangle x:Name="DemoRectangle" Height="50" Width="50" Fill="Yellow" Stroke="Blue" Margin="30"> </Rectangle> <Button Click="Button_Click">변환</Button> </StackPanel> |
|
이동할 Rectangle 생성 |
C#
|
TranslateTransform translateTransform = new TranslateTransform(50, 20); DemoRectangle.RenderTransform = translateTransform; |
|
TranslateTransform (50, 20) : X축으로 50이동 Y축에서 20이동 |
결과
|
|
|