Matrix.TransformPoints 메서드

정의

Matrix가 나타내는 기하학적 변환을 지점의 배열에 적용합니다.Applies the geometric transform this Matrix represents to an array of points.

오버로드

TransformPoints(Point[])

Matrix가 나타내는 기하학적 변환을 지정된 지점의 배열에 적용합니다.Applies the geometric transform represented by this Matrix to a specified array of points.

TransformPoints(PointF[])

Matrix가 나타내는 기하학적 변환을 지정된 지점의 배열에 적용합니다.Applies the geometric transform represented by this Matrix to a specified array of points.

TransformPoints(Point[])

Matrix가 나타내는 기하학적 변환을 지정된 지점의 배열에 적용합니다.Applies the geometric transform represented by this Matrix to a specified array of points.

public:
 void TransformPoints(cli::array <System::Drawing::Point> ^ pts);
public void TransformPoints (System.Drawing.Point[] pts);
member this.TransformPoints : System.Drawing.Point[] -> unit
Public Sub TransformPoints (pts As Point())

매개 변수

pts
Point[]

변환할 지점을 나타내는 Point 구조체의 배열입니다.An array of Point structures that represents the points to transform.

예제

다음 코드 예제는 Windows Forms와 함께 사용 하도록 설계 되었으며 PaintEventArgs e , Paint 이벤트 개체가 필요 합니다.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:

  • 사각형을 형성 하는 점의 배열을 만듭니다.Creates an array of points that form a rectangle.

  • 크기 조정 변형 (파란색 사각형)을 적용 하기 전에이 점의 배열을 화면에 그립니다.Draws this array of points (to the screen prior to applying a scaling transform (the blue rectangle).

  • 행렬을 만들고 x 축에서 3으로 확장 하 고 y 축에 2를 확장 합니다.Creates a matrix and scales it by 3 in the x-axis and 2 in the y-axis.

  • 이 행렬 변환을 지점의 배열에 적용 합니다.Applies this matrix transform to the array of points.

  • 변환 된 배열을 화면 (빨간색 사각형)에 그립니다.Draws the transformed array to the screen (the red rectangle).

빨간색 사각형은 사각형의 왼쪽 위 모퉁이 (사각형의 시작점)를 포함 하 여 x 축에서 3의 배율로 크기가 조정 되 고 y 축에서는 2로 크기가 조정 됩니다.Notice that the red rectangle has been scaled by a factor of 3 in the x-axis and by 2 in the y-axis, including the upper left-hand corner of the rectangle (the beginning point of the rectangle).

public:
   void TransformPointsExample( PaintEventArgs^ e )
   {
      Pen^ myPen = gcnew Pen( Color::Blue,1.0f );
      Pen^ myPen2 = gcnew Pen( Color::Red,1.0f );

      // Create an array of points.
      array<Point>^ myArray = {Point(20,20),Point(120,20),Point(120,120),Point(20,120),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 = gcnew 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 );
   }
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);
}
Public Sub TransformPointsExample(ByVal 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

적용 대상

TransformPoints(PointF[])

Matrix가 나타내는 기하학적 변환을 지정된 지점의 배열에 적용합니다.Applies the geometric transform represented by this Matrix to a specified array of points.

public:
 void TransformPoints(cli::array <System::Drawing::PointF> ^ pts);
public void TransformPoints (System.Drawing.PointF[] pts);
member this.TransformPoints : System.Drawing.PointF[] -> unit
Public Sub TransformPoints (pts As PointF())

매개 변수

pts
PointF[]

변환할 지점을 나타내는 PointF 구조체의 배열입니다.An array of PointF structures that represents the points to transform.

예제

예제를 보려면 TransformPoints(Point[])를 참조하세요.For an example, see TransformPoints(Point[]).

적용 대상