This topic has not yet been rated - Rate this topic

Matrix.Scale Method (Single, Single, MatrixOrder)

Applies the specified scale vector (scaleX and scaleY) to this Matrix using the specified order.

Namespace:  System.Drawing.Drawing2D
Assembly:  System.Drawing (in System.Drawing.dll)
public void Scale(
	float scaleX,
	float scaleY,
	MatrixOrder order
)

Parameters

scaleX
Type: System.Single
The value by which to scale this Matrix in the x-axis direction.
scaleY
Type: System.Single
The value by which to scale this Matrix in the y-axis direction.
order
Type: System.Drawing.Drawing2D.MatrixOrder
A MatrixOrder that specifies the order (append or prepend) in which the scale vector is applied to this Matrix.

The following code example is designed for use with Windows Forms, and it requires PaintEventArgs e, an Paint event object. The code performs the following actions:

  • Draws a rectangle to the screen prior to applying a scaling transform (the blue rectangle).

  • Creates a matrix and scales it by 3 in the x-axis and 2 in the y-axis.

  • Applies this matrix transform to the rectangle.

  • Draws the transformed rectangle to the screen (the red rectangle).

Notice that the red rectangle has been scaled by a factor of 3 in the x-axis and by 2 in the y-axis, including the upper left-hand corner of the rectangle (the beginning point of the rectangle).


public void ScaleExample(PaintEventArgs e)
{
    Pen myPen = new Pen(Color.Blue, 1);
    Pen myPen2 = new Pen(Color.Red, 1);

    // Draw the rectangle to the screen before applying the
    // transform.
    e.Graphics.DrawRectangle(myPen, 50, 50, 100, 100);

    // Create a matrix and scale it.
    Matrix myMatrix = new Matrix();
    myMatrix.Scale(3, 2, MatrixOrder.Append);

    // Draw the rectangle to the screen again after applying the
    // transform.
    e.Graphics.Transform = myMatrix;
    e.Graphics.DrawRectangle(myPen2, 50, 50, 100, 100);
}


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ