ScaleTransform in WPF


Scaling is a process of stretching or shrinking an element. The ScaleTransform scales an element by a given factor.

 

The ScaleTransform object in WPF represents ScaleTransform. The ScaleX and ScaleY properties represent the factor related to x and y coordinates respectively. The CenterX and CenterY properties represent the X and Y coordinates of the center point. By default, a ScaleTransform is centered at the point (0,0), which corresponds to the upper-left corner of the rectangle.

 

The code listed in Listing creates two rectangles with same position and size accepts the second rectangle is scaled to 1.5 and 2.0 toward the x and y axis respectively. Scaling value 1.5 represents 150% increase and 2.0 represents 200% increase.

 

<Rectangle Width="200" Height="50" Fill="Yellow" Margin="61,27,117,184" />

        <Rectangle Width="200" Height="50" Fill="Blue" Opacity="0.5" Margin="53,141,125,70">

            <Rectangle.RenderTransform>

                <ScaleTransform ScaleX="1.5" ScaleY="2.0" CenterX="50" CenterY="50" />

            </Rectangle.RenderTransform>

</Rectangle>

 

 

The output of Listing looks like Figure 1.

 

ScaleImg.jpg

Figure 1

 

The code listed in Listing creates a RotateTransform object dynamically and set it as RenderTransform property of a Rectangle. The output looks like Figure .

 

private void ScaleTransformSample()

{

    Rectangle originalRectangle = new Rectangle();

    originalRectangle.Width = 200;

    originalRectangle.Height = 50;

    originalRectangle.Fill = Brushes.Yellow;

    LayoutRoot.Children.Add(originalRectangle);

 

    Rectangle scaledRectangle = new Rectangle();

    scaledRectangle.Width = 200;

    scaledRectangle.Height = 50;

    scaledRectangle.Fill = Brushes.Blue;

    scaledRectangle.Opacity = 0.5;

    ScaleTransform scaleTransform1 = new ScaleTransform(1.5, 2.0, 50, 50);

    scaledRectangle.RenderTransform = scaleTransform1;

 

    LayoutRoot.Children.Add(scaledRectangle);

}

 

Up Next
    Ebook Download
    View all
    Learn
    View all
    Founded in 2003, Mindcracker is the authority in custom software development and innovation. We put best practices into action. We deliver solutions based on consumer and industry analysis.