# Matrix.TranslatePrepend(Double, Double) Method

## Definition

Prepends a translation of the specified offsets to this Matrix structure.

``````public:
void TranslatePrepend(double offsetX, double offsetY);``````
``public void TranslatePrepend (double offsetX, double offsetY);``
``member this.TranslatePrepend : double * double -> unit``
``Public Sub TranslatePrepend (offsetX As Double, offsetY As Double)``

#### Parameters

offsetX
Double

The amount to offset this Matrix along the x-axis.

offsetY
Double

The amount to offset this Matrix along the y-axis.

## Examples

The following example shows how prepend a translation onto a Matrix structure.

``````private Matrix translatePrependExample()
{

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

myMatrix.TranslatePrepend(5, 10);

// myMatrix is equal to (5, 10, 15, 20, 200, 280).
return myMatrix;

}
``````

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