Matrix.Scale Method

Definition

Important

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

Applies the specified scale vector to this Matrix by prepending the scale vector.

Overloads

Scale(Single, Single)

Applies the specified scale vector to this Matrix by prepending the scale vector.

Scale(Single, Single, MatrixOrder)

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

Scale(Single, Single)

Source:
Matrix.cs
Source:
Matrix.cs
Source:
Matrix.cs
Source:
Matrix.cs
Source:
Matrix.cs
Source:
Matrix.cs

Applies the specified scale vector to this Matrix by prepending the scale vector.

C#
public void Scale(float scaleX, float scaleY);

Parameters

scaleX
Single

The value by which to scale this Matrix in the x-axis direction.

scaleY
Single

The value by which to scale this Matrix in the y-axis direction.

Examples

For an example, see Scale(Single, Single, MatrixOrder).

Applies to

.NET 10 (package-provided) and other versions
Product Versions
.NET 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Scale(Single, Single, MatrixOrder)

Source:
Matrix.cs
Source:
Matrix.cs
Source:
Matrix.cs
Source:
Matrix.cs
Source:
Matrix.cs
Source:
Matrix.cs

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

C#
public void Scale(float scaleX, float scaleY, System.Drawing.Drawing2D.MatrixOrder order);

Parameters

scaleX
Single

The value by which to scale this Matrix in the x-axis direction.

scaleY
Single

The value by which to scale this Matrix in the y-axis direction.

order
MatrixOrder

A MatrixOrder that specifies the order (append or prepend) in which the scale vector is applied to this Matrix.

Examples

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).

C#
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);
}

Applies to

.NET 10 (package-provided) and other versions
Product Versions
.NET 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10