次の方法で共有


Matrix.TransformPoints メソッド (Point )

Matrix オブジェクトが表すジオメトリック変換を、指定した点の配列に適用します。

Overloads Public Sub TransformPoints( _
   ByVal pts() As Point _)
[C#]
public void TransformPoints(Point[] pts);
[C++]
public: void TransformPoints(Pointpts[]);
[JScript]
public function TransformPoints(
   pts : Point[]);

パラメータ

  • pts
    変換する複数の点を表す Point 構造体の配列。

使用例

[Visual Basic, C#] 次の例は、Windows フォームでの使用を意図してデザインされており、 OnPaint イベントのオブジェクトである PaintEventArgs e が必要です。このコードは次のアクションを実行します。

  • 四角形を形成する点の配列を作成します。
  • スケーリングの変換を適用する前に、画面にこの点の配列を描画します (青い四角形)。
  • 行列を作成し、それを x 軸方向に 3 倍、y 軸方向に 2 倍だけスケールします。
  • この行列変換を点の配列に適用します。
  • 変形した配列を画面に描画します (赤い四角形)。

[Visual Basic, C#] 赤い四角形は、四角形の左上隅 (四角形の開始点) を含めて x 軸方向に 3 倍、y 軸方向に 2 倍スケールされます。

 
Public Sub TransformPointsExample(e As PaintEventArgs)
Dim myPen As New Pen(Color.Blue, 1)
Dim myPen2 As New Pen(Color.Red, 1)
' Create an array of points.
Dim myArray As Point() =  {New Point(20, 20), New Point(120, 20), _
New Point(120, 120), New Point(20, 120), New Point(20, 20)}
' Draw the Points to the screen before applying the
' transform.
e.Graphics.DrawLines(myPen, myArray)
' Create a matrix and scale it.
Dim myMatrix As New Matrix()
myMatrix.Scale(3, 2, MatrixOrder.Append)
myMatrix.TransformPoints(myArray)
' Draw the Points to the screen again after applying the
' transform.
e.Graphics.DrawLines(myPen2, myArray)
End Sub
        
[C#] 
public void TransformPointsExample(PaintEventArgs e)
{
Pen myPen = new Pen(Color.Blue, 1);
Pen myPen2 = new Pen(Color.Red, 1);
// Create an array of points.
Point[] myArray =
{
new Point(20, 20),
new Point(120, 20),
new Point(120, 120),
new Point(20, 120),
new Point(20,20)
};
// Draw the Points to the screen before applying the
// transform.
e.Graphics.DrawLines(myPen, myArray);
// Create a matrix and scale it.
Matrix myMatrix = new Matrix();
myMatrix.Scale(3, 2, MatrixOrder.Append);
myMatrix.TransformPoints(myArray);
// Draw the Points to the screen again after applying the
// transform.
e.Graphics.DrawLines(myPen2, myArray);
}
        

[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

Matrix クラス | Matrix メンバ | System.Drawing.Drawing2D 名前空間 | Matrix.TransformPoints オーバーロードの一覧