Graphics::TranslateTransform Method (Single, Single)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Changes the origin of the coordinate system by prepending the specified translation to the transformation matrix of this Graphics.

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

void TranslateTransform(
	float dx,
	float dy


Type: System::Single

The x-coordinate of the translation.

Type: System::Single

The y-coordinate of the translation.

The origin is typically the upper-left-hand corner of the drawing surface. The translation operation consists of multiplying the transformation matrix by a matrix whose translation part is the dx and dy parameters. This method applies the translation by prepending the translation matrix to the transformation matrix.

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

  • Rotates the world transformation matrix of the Windows Form by 30.0F degrees.

  • Moves the origin of the graphics object by calling TranslateTransform, prepending the translation to the transformation matrix.

  • Draws a translated, rotated ellipse with a blue pen.

   void TranslateTransformAngle( PaintEventArgs^ e )
      // Set world transform of graphics object to rotate.
      e->Graphics->RotateTransform( 30.0F );

      // Then to translate, prepending to world transform.
      e->Graphics->TranslateTransform( 100.0F, 0.0F );

      // Draw translated, rotated ellipse to screen.
      e->Graphics->DrawEllipse( gcnew Pen( Color::Blue,3.0f ), 0, 0, 200, 80 );

The following illustration shows the output of running the previous code example.

Translated and transformed ellipse

.NET Framework
Available since 1.1
Return to top