# Matrix.Transform Method

## Definition

Transforms the specified point, array of points, vector, or array of vectors by this Matrix.

 Transform(Point) Transforms the specified point by the Matrix and returns the result. Transform(Point[]) Transforms the specified points by this Matrix. Transform(Vector) Transforms the specified vector by this Matrix. Transform(Vector[]) Transforms the specified vectors by this Matrix.

## Examples

The follow example shows how to use a Matrix to transform points and vectors.

``````private void transformExamples()
{

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

//
// Transform a point.
//
Point myPoint = new Point(15,25);

// pointResult is (475, 680).
Point pointResult = myMatrix.Transform(myPoint);

//
// Transform an array of points.
//
Point[] myPointArray = new Point[]
{new Point(15,25), new Point(30,35)};

// myPointArray[0] becomes (475, 680).
// myPointArray[1] becomes (700, 1030).
myMatrix.Transform(myPointArray);

//
// Transform a vector.
//
Vector myVector = new Vector(15,25);

// vectorResult becomes (450, 650).
Vector vectorResult = myMatrix.Transform(myVector);

//
// Transform an array of vectors.
//
Vector[] myVectorArray = new Vector[]
{new Vector(15, 25), new Vector(30,35)};

// myVectorArray[0] becomes (450, 650).
// myVectorArray[1] becomes (675, 1000).
myMatrix.Transform(myVectorArray);
}
``````

## Transform(Point)

Transforms the specified point by the Matrix and returns the result.

``````public:
System::Windows::Point Transform(System::Windows::Point point);``````
``public System.Windows.Point Transform (System.Windows.Point point);``
``member this.Transform : System.Windows.Point -> System.Windows.Point``
``Public Function Transform (point As Point) As Point``

#### Parameters

point
Point

The point to transform.

#### Returns

Point

The result of transforming `point` by this Matrix.

### Examples

The follow example shows how to use a Matrix to transform points and vectors.

``````private void transformExamples()
{

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

//
// Transform a point.
//
Point myPoint = new Point(15,25);

// pointResult is (475, 680).
Point pointResult = myMatrix.Transform(myPoint);

//
// Transform an array of points.
//
Point[] myPointArray = new Point[]
{new Point(15,25), new Point(30,35)};

// myPointArray[0] becomes (475, 680).
// myPointArray[1] becomes (700, 1030).
myMatrix.Transform(myPointArray);

//
// Transform a vector.
//
Vector myVector = new Vector(15,25);

// vectorResult becomes (450, 650).
Vector vectorResult = myMatrix.Transform(myVector);

//
// Transform an array of vectors.
//
Vector[] myVectorArray = new Vector[]
{new Vector(15, 25), new Vector(30,35)};

// myVectorArray[0] becomes (450, 650).
// myVectorArray[1] becomes (675, 1000).
myMatrix.Transform(myVectorArray);
}
``````

## Transform(Point[])

Transforms the specified points by this Matrix.

``````public:
void Transform(cli::array <System::Windows::Point> ^ points);``````
``public void Transform (System.Windows.Point[] points);``
``member this.Transform : System.Windows.Point[] -> unit``
``Public Sub Transform (points As Point())``

#### Parameters

points
Point[]

The points to transform. The original points in the array are replaced by their transformed values.

### Examples

The follow example shows how to use a Matrix to transform points and vectors.

``````private void transformExamples()
{

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

//
// Transform a point.
//
Point myPoint = new Point(15,25);

// pointResult is (475, 680).
Point pointResult = myMatrix.Transform(myPoint);

//
// Transform an array of points.
//
Point[] myPointArray = new Point[]
{new Point(15,25), new Point(30,35)};

// myPointArray[0] becomes (475, 680).
// myPointArray[1] becomes (700, 1030).
myMatrix.Transform(myPointArray);

//
// Transform a vector.
//
Vector myVector = new Vector(15,25);

// vectorResult becomes (450, 650).
Vector vectorResult = myMatrix.Transform(myVector);

//
// Transform an array of vectors.
//
Vector[] myVectorArray = new Vector[]
{new Vector(15, 25), new Vector(30,35)};

// myVectorArray[0] becomes (450, 650).
// myVectorArray[1] becomes (675, 1000).
myMatrix.Transform(myVectorArray);
}
``````

## Transform(Vector)

Transforms the specified vector by this Matrix.

``````public:
System::Windows::Vector Transform(System::Windows::Vector vector);``````
``public System.Windows.Vector Transform (System.Windows.Vector vector);``
``member this.Transform : System.Windows.Vector -> System.Windows.Vector``
``Public Function Transform (vector As Vector) As Vector``

#### Parameters

vector
Vector

The vector to transform.

#### Returns

Vector

The result of transforming `vector` by this Matrix.

### Examples

The follow example shows how to use a Matrix to transform points and vectors.

``````private void transformExamples()
{

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

//
// Transform a point.
//
Point myPoint = new Point(15,25);

// pointResult is (475, 680).
Point pointResult = myMatrix.Transform(myPoint);

//
// Transform an array of points.
//
Point[] myPointArray = new Point[]
{new Point(15,25), new Point(30,35)};

// myPointArray[0] becomes (475, 680).
// myPointArray[1] becomes (700, 1030).
myMatrix.Transform(myPointArray);

//
// Transform a vector.
//
Vector myVector = new Vector(15,25);

// vectorResult becomes (450, 650).
Vector vectorResult = myMatrix.Transform(myVector);

//
// Transform an array of vectors.
//
Vector[] myVectorArray = new Vector[]
{new Vector(15, 25), new Vector(30,35)};

// myVectorArray[0] becomes (450, 650).
// myVectorArray[1] becomes (675, 1000).
myMatrix.Transform(myVectorArray);
}
``````

## Transform(Vector[])

Transforms the specified vectors by this Matrix.

``````public:
void Transform(cli::array <System::Windows::Vector> ^ vectors);``````
``public void Transform (System.Windows.Vector[] vectors);``
``member this.Transform : System.Windows.Vector[] -> unit``
``Public Sub Transform (vectors As Vector())``

#### Parameters

vectors
Vector[]

The vectors to transform. The original vectors in the array are replaced by their transformed values.

### Examples

The follow example shows how to use a Matrix to transform points and vectors.

``````private void transformExamples()
{

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

//
// Transform a point.
//
Point myPoint = new Point(15,25);

// pointResult is (475, 680).
Point pointResult = myMatrix.Transform(myPoint);

//
// Transform an array of points.
//
Point[] myPointArray = new Point[]
{new Point(15,25), new Point(30,35)};

// myPointArray[0] becomes (475, 680).
// myPointArray[1] becomes (700, 1030).
myMatrix.Transform(myPointArray);

//
// Transform a vector.
//
Vector myVector = new Vector(15,25);

// vectorResult becomes (450, 650).
Vector vectorResult = myMatrix.Transform(myVector);

//
// Transform an array of vectors.
//
Vector[] myVectorArray = new Vector[]
{new Vector(15, 25), new Vector(30,35)};

// myVectorArray[0] becomes (450, 650).
// myVectorArray[1] becomes (675, 1000).
myMatrix.Transform(myVectorArray);
}
``````