Publish
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

# Matrix.ScaleAtPrepend Method

.NET Framework 4.5

Prepends the specified scale about the specified point of this Matrix.

Namespace:  System.Windows.Media
Assembly:  WindowsBase (in WindowsBase.dll)

## Syntax

```public void ScaleAtPrepend(
double scaleX,
double scaleY,
double centerX,
double centerY
)
```

#### Parameters

scaleX
Type: System.Double

The x-axis scale factor.

scaleY
Type: System.Double

The y-axis scale factor.

centerX
Type: System.Double

The x-coordinate of the point about which the scale operation is performed.

centerY
Type: System.Double

The y-coordinate of the point about which the scale operation is performed.

## Remarks

In a composite transformation, the order of individual transformations is important. For example, if you first rotate, then scale, then translate, you get a different result than if you first translate, then rotate, then scale. One reason order is significant is that transformations like rotation and scaling are done with respect to the origin of the coordinate system. Scaling an object that is centered at the origin produces a different result than scaling an object that has been moved away from the origin. Similarly, rotating an object that is centered at the origin produces a different result than rotating an object that has been moved away from the origin.

## Examples

The following example shows how to prepend a scale to a Matrix.

```
private Matrix scalePrependExample()
{
Matrix myMatrix = new Matrix(5, 10, 15, 20, 25, 30);

// Prepend a scale ab with a horizontal factor of 2
// and a vertical factor of 4 about the origin.
// After this operation,
// myMatrix is equal to (10, 20, 60, 80, 25, 30)
myMatrix.ScalePrepend(2, 4);

return myMatrix;

}

{
Matrix myMatrix = new Matrix(5, 10, 15, 20, 25, 30);

// Prepend a scale with a horizontal factor of 2
// and a vertical factor of 4 about the
// point (100,100).
// After this operation,
// myMatrix is equal to (10, 20, 60, 80, -4975, -6970)
myMatrix.ScaleAtPrepend(2, 4, 100, 100);

return myMatrix;

}
```

## Version Information

#### .NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0

#### .NET Framework Client Profile

Supported in: 4, 3.5 SP1

## Platforms

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show: