Matrix::TransformPoints Method (array<Point>^)

 

Applies the geometric transform represented by this Matrix to a specified array of points.

Namespace:   System.Drawing.Drawing2D
Assembly:  System.Drawing (in System.Drawing.dll)

public:
void TransformPoints(
	array<Point>^ pts
)

Parameters

pts
Type: array<System.Drawing::Point>^

An array of Point structures that represents the points to transform.

The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, an Paint event object. The code performs the following actions:

  • Creates an array of points that form a rectangle.

  • Draws this array of points (to the screen prior to applying a scaling transform (the blue rectangle).

  • Creates a matrix and scales it by 3 in the x-axis and 2 in the y-axis.

  • Applies this matrix transform to the array of points.

  • Draws the transformed array to the screen (the red rectangle).

Notice that the red rectangle has been scaled by a factor of 3 in the x-axis and by 2 in the y-axis, including the upper left-hand corner of the rectangle (the beginning point of the rectangle).

public:
   void TransformPointsExample( PaintEventArgs^ e )
   {
      Pen^ myPen = gcnew Pen( Color::Blue,1.0f );
      Pen^ myPen2 = gcnew Pen( Color::Red,1.0f );

      // Create an array of points.
      array<Point>^ myArray = {Point(20,20),Point(120,20),Point(120,120),Point(20,120),Point(20,20)};

      // Draw the Points to the screen before applying the
      // transform.
      e->Graphics->DrawLines( myPen, myArray );

      // Create a matrix and scale it.
      Matrix^ myMatrix = gcnew Matrix;
      myMatrix->Scale( 3, 2, MatrixOrder::Append );
      myMatrix->TransformPoints( myArray );

      // Draw the Points to the screen again after applying the
      // transform.
      e->Graphics->DrawLines( myPen2, myArray );
   }

.NET Framework
Available since 1.1
Return to top
Show: