Matrix.Translate Method (Single, Single, MatrixOrder) (System.Drawing.Drawing2D)

Switch View :
ScriptFree
.NET Framework Class Library
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)
Syntax

Visual Basic
Public Sub Translate ( _
	offsetX As Single, _
	offsetY As Single, _
	order As MatrixOrder _
)
C#
public void Translate(
	float offsetX,
	float offsetY,
	MatrixOrder order
)
Visual C++
public:
void Translate(
	float offsetX, 
	float offsetY, 
	MatrixOrder order
)
F#
member Translate : 
        offsetX:float32 * 
        offsetY:float32 * 
        order:MatrixOrder -> unit 

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.
Examples

The following code example is designed for use with Windows Forms, and it requires PaintEventArgs e, 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.

Visual Basic

Public Sub TranslateExample(ByVal e As PaintEventArgs)
    Dim myPen As New Pen(Color.Blue, 1)
    Dim myPen2 As New Pen(Color.Red, 1)

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

    ' Create a matrix and translate it.
    Dim myMatrix As New 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)
End Sub


C#

public void TranslateExample(PaintEventArgs e)
{
    Pen myPen = new Pen(Color.Blue, 1);
    Pen myPen2 = new Pen(Color.Red, 1);

    // 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 = new 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);
}


Visual C++

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 );
   }


Version Information

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
See Also

Reference