Graphics.TranslateTransform メソッド

定義

この Graphics の変換行列の前に指定の平行移動を付加することによって、座標系の原点を変更します。Changes the origin of the coordinate system by prepending the specified translation to the transformation matrix of this Graphics.

オーバーロード

TranslateTransform(Single, Single, MatrixOrder)

この Graphics の変換行列に指定の平行移動を指定の順序で適用することによって、座標系の原点を変更します。Changes the origin of the coordinate system by applying the specified translation to the transformation matrix of this Graphics in the specified order.

TranslateTransform(Single, Single)

この Graphics の変換行列の前に指定の平行移動を付加することによって、座標系の原点を変更します。Changes the origin of the coordinate system by prepending the specified translation to the transformation matrix of this Graphics.

TranslateTransform(Single, Single, MatrixOrder)

この Graphics の変換行列に指定の平行移動を指定の順序で適用することによって、座標系の原点を変更します。Changes the origin of the coordinate system by applying the specified translation to the transformation matrix of this Graphics in the specified order.

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

パラメーター

dx
Single

平行移動する x 座標。The x-coordinate of the translation.

dy
Single

平行移動する y 座標。The y-coordinate of the translation.

order
MatrixOrder

平行移動が変換行列の前に付加されるか後に追加されるかを指定する MatrixOrder 列挙体のメンバー。Member of the MatrixOrder enumeration that specifies whether the translation is prepended or appended to the transformation matrix.

次のコード例は、Windows フォームで使用するように設計されてい PaintEventArgs e ます。これは、イベントハンドラーのパラメーターであるを必要とし Paint ます。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:

  • Windows フォームのワールド変換行列を 30.0 F 度回転させます。Rotates the world transformation matrix of the Windows Form by 30.0F degrees.

  • を呼び出して、 TranslateTransform 変換をワールド変換行列に追加して、グラフィックスオブジェクトの原点を移動します。Moves the graphics object's origin by calling TranslateTransform, appending the translation to the world transformation matrix.

  • 青いペンを使用して、回転した平行移動楕円を描画します。Draws a rotated, translated ellipse with a blue pen.

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

      // Then to translate, appending to world transform.
      e->Graphics->TranslateTransform( 100.0F, 0.0F, MatrixOrder::Append );

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

    // Set world transform of graphics object to rotate.
    e.Graphics.RotateTransform(30.0F);

    // Then to translate, appending to world transform.
    e.Graphics.TranslateTransform(100.0F, 0.0F, MatrixOrder.Append);

    // Draw rotated, translated ellipse to screen.
    e.Graphics.DrawEllipse(new Pen(Color.Blue, 3), 0, 0, 200, 80);
}
Private Sub TranslateTransformAngleMatrixOrder(ByVal e As PaintEventArgs)

    ' Set world transform of graphics object to rotate.
    e.Graphics.RotateTransform(30.0F)

    ' Then to translate, appending to world transform.
    e.Graphics.TranslateTransform(100.0F, 0.0F, MatrixOrder.Append)

    ' Draw rotated, translated ellipse to screen.
    e.Graphics.DrawEllipse(New Pen(Color.Blue, 3), 0, 0, 200, 80)
End Sub

注釈

変換操作は、変換行列を、変換部分がおよびパラメーターである行列で乗算することで構成され dx dy ます。The translation operation consists of multiplying the transformation matrix by a matrix whose translation part is the dx and dy parameters. このメソッドは、パラメーターに従って、変換 Graphics 行列によっての変換行列を先頭または末尾に追加し order ます。This method prepends or appends the transformation matrix of the Graphics by the translation matrix according to the order parameter.

適用対象

TranslateTransform(Single, Single)

この Graphics の変換行列の前に指定の平行移動を付加することによって、座標系の原点を変更します。Changes the origin of the coordinate system by prepending the specified translation to the transformation matrix of this Graphics.

public:
 void TranslateTransform(float dx, float dy);
public void TranslateTransform (float dx, float dy);
member this.TranslateTransform : single * single -> unit
Public Sub TranslateTransform (dx As Single, dy As Single)

パラメーター

dx
Single

平行移動する x 座標。The x-coordinate of the translation.

dy
Single

平行移動する y 座標。The y-coordinate of the translation.

次のコード例は、Windows フォームで使用するように設計されてい PaintEventArgs e ます。これは、イベントハンドラーのパラメーターであるを必要とし Paint ます。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:

  • Windows フォームのワールド変換行列を 30.0 F 度回転させます。Rotates the world transformation matrix of the Windows Form by 30.0F degrees.

  • を呼び出し、 TranslateTransform 変換を変換行列に付加することによって、グラフィックスオブジェクトの原点を移動します。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.

public:
   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 );
   }
private 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(new Pen(Color.Blue, 3), 0, 0, 200, 80);
}
Private Sub TranslateTransformAngle(ByVal e As PaintEventArgs)

    ' 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(New Pen(Color.Blue, 3), 0, 0, 200, 80)
End Sub

次の図は、前のコード例を実行した場合の出力を示しています。The following illustration shows the output of running the previous code example.

移動および変換された楕円Translated and transformed ellipse

注釈

原点は、通常、描画サーフェイスの左上隅にあります。The origin is typically the upper-left-hand corner of the drawing surface. 変換操作は、変換行列を、変換部分がおよびパラメーターである行列で乗算することで構成され dx dy ます。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.

適用対象