CAFE

WPF

[21기 주옥찬]WPF Transform

작성자21기 주옥찬|작성시간11.04.18|조회수1,218 목록 댓글 0

 

Transform

작성자 : 주옥찬

작성일 : 2011-04-17

주 제 : 새로운 Class 학습

 

Transform Class

- 2차원 평면에서의 변환을 가능하게 하는 클래스

변환 종류

동작

RotateTransform

2차원x-y좌표계에서 지정한 점을 개체를 시계 방향으로 회전합니다.

ScaleTransform

2차원x-y좌표계에서 지정한 점을 개체의 배율을 조정합니다.

SkewTransform

2차원 기울이기를 나타낸다.

TranslateTransform

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) : ScaleX2ScaleY2로 했다. 너비가 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이동

 

결과

 

 

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼