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
)

Parameters

destSpace
Type: System.Drawing.Drawing2D.CoordinateSpace

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

srcSpace
Type: System.Drawing.Drawing2D.CoordinateSpace

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

pts
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.
    e.Graphics.ResetTransform();

    // 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
Show:
© 2015 Microsoft