Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

Graphics.TransformPoints Method (CoordinateSpace, CoordinateSpace, Point[])

Transforms an array of points from one coordinate space to another using the current world and page transformations of this Graphics.

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

public void TransformPoints(
	CoordinateSpace destSpace,
	CoordinateSpace srcSpace,
	Point[] pts


Type: System.Drawing.Drawing2D.CoordinateSpace

Member of the CoordinateSpace enumeration that specifies the destination coordinate space.

Type: System.Drawing.Drawing2D.CoordinateSpace

Member of the CoordinateSpace enumeration that specifies the source coordinate space.

Type: System.Drawing.Point[]

Array of Point structures that represents the points to transformation.

The following code example is designed for use with Windows Forms, and it requires PaintEventArgs e, which is a parameter of the Paint event handler. The code performs the following actions:

  • Creates two points and draws a blue line between them.

  • Sets the world transform to translate by amounts 40 in the x direction and 30 in the y direction.

  • Transforms the points from world coordinates (World) to page coordinates (Page).

  • Resets the world transformation to the identity.

  • Draws a red line between the transformed points.

The result is a blue line and a translated red line below it.

private void TransformPointsPoint(PaintEventArgs e)

    // Create array of two points.
    Point[] points = { new Point(0, 0), new Point(100, 50) };

    // Draw line connecting two untransformed points.
    e.Graphics.DrawLine(new Pen(Color.Blue, 3), points[0], points[1]);

    // Set world transformation of Graphics object to translate.
    e.Graphics.TranslateTransform(40, 30);

    // Transform points in array from world to page coordinates.
    e.Graphics.TransformPoints(CoordinateSpace.Page, CoordinateSpace.World, points);

    // Reset world transformation.

    // Draw line that connects transformed points.
    e.Graphics.DrawLine(new Pen(Color.Red, 3), points[0], points[1]);

.NET Framework

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

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
© 2015 Microsoft