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
)
public void Translate (
	float offsetX, 
	float offsetY, 
	MatrixOrder order
)
public function Translate (
	offsetX : float, 
	offsetY : float, 
	order : MatrixOrder
)
Not applicable.

Parameters

offsetX

The x value by which to translate this Matrix.

offsetY

The y value by which to translate this Matrix.

order

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

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

    // Draw a rectangle to the screen before applying the
    // transform.
    e.get_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.get_Graphics().set_Transform(myMatrix);
    e.get_Graphics().DrawRectangle(myPen2, 20, 20, 100, 50);
} //TranslateExample

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

Community Additions

ADD
Show: