Matrix.Translate メソッド
平行移動ベクタを前に付加することで、指定した平行移動ベクタをこの Matrix オブジェクトに適用します。
オーバーロードの一覧
平行移動ベクタを前に付加することで、指定した平行移動ベクタ (offsetX と offsetY) をこの Matrix オブジェクトに適用します。
[Visual Basic] Overloads Public Sub Translate(Single, Single)
[JScript] public function Translate(float, float);
指定した順序で、指定した平行移動ベクタをこの Matrix オブジェクトに適用します。
[Visual Basic] Overloads Public Sub Translate(Single, Single, MatrixOrder)
[JScript] public function Translate(float, float, MatrixOrder);
使用例
[Visual Basic, C#] 次の例は、Windows フォームでの使用を意図してデザインされており、 OnPaint イベントのオブジェクトである PaintEventArgs e が必要です。このコードは次のアクションを実行します。
- 平行移動の変換を適用する前に、画面に四角形を描画します (青い四角形)。
- 行列を作成し、それを両方の軸に対して 100 だけ平行移動します。
- この行列変換を四角形に適用します。
- 変形した四角形を画面に描画します (赤い四角形)。
[Visual Basic, C#] 赤い四角形の開始点は、青い三角形の開始点から両方の軸に関して 100 ポイントの位置になります。
[Visual Basic, C#] メモ ここでは、Translate のオーバーロード形式のうちの 1 つだけについて、使用例を示します。その他の例については、各オーバーロード形式のトピックを参照してください。
Public Sub TranslateExample(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);
}
[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。