Matrix.ScaleAt(Double, Double, Double, Double) Method

Definition

Scales this Matrix by the specified amount about the specified point.

public:
 void ScaleAt(double scaleX, double scaleY, double centerX, double centerY);
public void ScaleAt (double scaleX, double scaleY, double centerX, double centerY);
member this.ScaleAt : double * double * double * double -> unit
Public Sub ScaleAt (scaleX As Double, scaleY As Double, centerX As Double, centerY As Double)

Parameters

scaleX
Double

The amount by which to scale this Matrix along the x-axis.

scaleY
Double

The amount by which to scale this Matrix along the y-axis.

centerX
Double

The x-coordinate of the scale operation's center point.

centerY
Double

The y-coordinate of the scale operation's center point.

Examples

The following example shows how to scale a Matrix structure.


private Matrix scaleExample()
{
    Matrix myMatrix = new Matrix(5, 10, 15, 20, 25, 30);
    
    // Scale myMatrix by a horizontal factor of 2
    // and a vertical factor of 4 about the origin.
    // After this operation,
    // myMatrix is equal to (10, 40, 30, 80, 50, 120)
    myMatrix.Scale(2, 4);
    
    return myMatrix;
}

private Matrix scaleAboutPointExample()
{
    Matrix myMatrix = new Matrix(5, 10, 15, 20, 25, 30);
    
    // Scale myMatrix by a horizontal factor of 2
    // and a vertical factor of 4 about the 
    // point (100,100).
    // After this operation,
    // myMatrix is equal to (10, 40, 30, 80, -50, -180)
    myMatrix.ScaleAt(2, 4, 100, 100);
    
    return myMatrix;
}

Applies to