Matrix::TransformPoints Method (array<Point>^)
Applies the geometric transform represented by this Matrix to a specified array of points.
Assembly: System.Drawing (in System.Drawing.dll)
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 ); }
Available since 1.1