Какими различными способами Silverlight выполняет трансформацию?

Иногда вам нужно преобразовать ваш объект различными способами. Например, вы можете захотеть наклонить ваш объект на 45 градусов; вы можете захотеть исказить или вращать объект. Ниже приведены несколько важных примеров трансформации, которые вы можете выполнить с помощью Silverlight.

Ниже показан простой пример, использующий ‘RotateTransform’, чтобы наклонить текст на 45 градусов.

<TextBlock HorizontalAlignment="Center" 
Text="Text
rotated by 45 degree">
<TextBlock.RenderTransform>
<RotateTransform Angle="45" />
</TextBlock.RenderTransform>
</TextBlock>


                        S

Ниже показан простой пример, использующий ‘ScaleTransform’, чтобы установить для текста масштаб ‘2’.

<TextBlock VerticalAlignment="Center"
 HorizontalAlignment="Center"
Text="Text scaled with 2">
<TextBlock.RenderTransform>
<ScaleTransform ScaleX="2"/>
</TextBlock.RenderTransform>
</TextBlock>

Ниже показан простой пример, использующий ‘RenderTransform’, чтобы поместить ваш текст в конкретную точку X и Y.

<TextBlock VerticalAlignment="Center" 
HorizontalAlignment="Center" Text="Text
with X/Y values">
<TextBlock.RenderTransform>
<TranslateTransform X="-100" Y="-100"/>
</TextBlock.RenderTransform>
</TextBlock>

Если вы хотите наклонить ваш объект, ниже приведен простой фрагмент кода XAML, который наклоняет ваш объект на 45 градусов.

<Rectangle Fill="Chocolate" 
Stroke="Black" Width="100" Height="100">
<Rectangle.RenderTransform>
<SkewTransform AngleX="45"/>
</Rectangle.RenderTransform>
</Rectangle>

Иногда вам бывает нужно применить два или больше типов трансформации к объекту. В этих сценариях вы можете использовать ‘TransformGroup’, чтобы применить многократную трансформацию.
Ниже приведен фрагмент кода, показывающий одновременное применение ‘SkewTransform’ и ‘RotateTransform’ к объекту прямоугольника.

<Rectangle Fill="Chocolate" 
Stroke="Black" Width="100" Height="100">
<Rectangle.RenderTransform>
<TransformGroup>

<SkewTransform AngleX="45"/>
<RotateTransform Angle="45"/>

</TransformGroup>
</Rectangle.RenderTransform>
</Rectangle>

Автор: Shivprasad Koirala