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

{
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;
}

``````