# 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

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