Matrix.Translate Methode

Definitie

Hiermee wordt de opgegeven vertaalvector toegepast Matrix door de vertaalvector vooraf te laten gaan.

Overloads

Name Description
Translate(Single, Single)

Hiermee past u de opgegeven vertaalvector (offsetX en offsetY) toe Matrix door de vertaalvector vooraf te laten gaan.

Translate(Single, Single, MatrixOrder)

Hiermee wordt de opgegeven vertaalvector Matrix in de opgegeven volgorde toegepast.

Translate(Single, Single)

Hiermee past u de opgegeven vertaalvector (offsetX en offsetY) toe Matrix door de vertaalvector vooraf te laten gaan.

public:
 void Translate(float offsetX, float offsetY);
public void Translate(float offsetX, float offsetY);
member this.Translate : single * single -> unit
Public Sub Translate (offsetX As Single, offsetY As Single)

Parameters

offsetX
Single

De x-waarde waarmee u dit Matrixwilt vertalen.

offsetY
Single

De y-waarde waarmee u dit Matrixkunt vertalen.

Voorbeelden

Zie Translate(Single, Single, MatrixOrder)voor een voorbeeld.

Van toepassing op

Translate(Single, Single, MatrixOrder)

Hiermee wordt de opgegeven vertaalvector Matrix in de opgegeven volgorde toegepast.

public:
 void Translate(float offsetX, float offsetY, System::Drawing::Drawing2D::MatrixOrder order);
public void Translate(float offsetX, float offsetY, System.Drawing.Drawing2D.MatrixOrder order);
member this.Translate : single * single * System.Drawing.Drawing2D.MatrixOrder -> unit
Public Sub Translate (offsetX As Single, offsetY As Single, order As MatrixOrder)

Parameters

offsetX
Single

De x-waarde waarmee u dit Matrixwilt vertalen.

offsetY
Single

De y-waarde waarmee u dit Matrixkunt vertalen.

order
MatrixOrder

Een MatrixOrder die de volgorde aangeeft (toevoegen of vooraf gaan) waarin de vertaling hierop wordt toegepast Matrix.

Voorbeelden

Het volgende codevoorbeeld is ontworpen voor gebruik met Windows Forms en vereist PaintEventArgse, een Paint-gebeurtenisobject. De code voert de volgende acties uit:

  • Hiermee tekent u een rechthoek op het scherm voordat u een vertaaltransformatie (de blauwe rechthoek) toepast.

  • Hiermee maakt u een matrix en vertaalt u deze met 100 in beide assen.

  • Deze matrixtransformatie toepassen op de rechthoek,

  • Hiermee tekent u de getransformeerde rechthoek naar het scherm (de rode rechthoek).

U ziet dat het begin van de rode rechthoek 100 punten in beide assen vanaf het begin van de blauwe driehoek bevindt.

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

Van toepassing op