Matrix::Translate Method (Single, Single, MatrixOrder)

 

Applies the specified translation vector to this Matrix in the specified order.

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

public:
void Translate(
	float offsetX,
	float offsetY,
	MatrixOrder order
)

Parameters

offsetX
Type: System::Single

The x value by which to translate this Matrix.

offsetY
Type: System::Single

The y value by which to translate this Matrix.

order
Type: System.Drawing.Drawing2D::MatrixOrder

A MatrixOrder that specifies the order (append or prepend) in which the translation is applied to this Matrix.

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:

  • Draws a rectangle to the screen prior to applying a translate transform (the blue rectangle).

  • Creates a matrix and translates it by 100 in both axes.

  • Applies this matrix transform to the rectangle,

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

Notice that the beginning of the red rectangle is located 100 points in both axes from the beginning of the blue triangle.

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

      // Draw a rectangle to the screen before applying the
      // transform.
      e->Graphics->DrawRectangle( myPen, 20, 20, 100, 50 );

      // Create a matrix and translate it.
      Matrix^ myMatrix = gcnew Matrix;
      myMatrix->Translate( 100, 100, MatrixOrder::Append );

      // Draw the Points to the screen again after applying the
      // transform.
      e->Graphics->Transform = myMatrix;
      e->Graphics->DrawRectangle( myPen2, 20, 20, 100, 50 );
   }

.NET Framework
Available since 1.1
Return to top
Show: