Matrix.TransformVectors Metod

Definition

Multiplicerar varje vektor i en matris med matrisen. Översättningselementen i den här matrisen (tredje raden) ignoreras.

Överlagringar

Name Description
TransformVectors(Point[])

Tillämpar endast skalnings- och rotationskomponenterna i detta Matrix på den angivna matrisen med punkter.

TransformVectors(PointF[])

Multiplicerar varje vektor i en matris med matrisen. Översättningselementen i den här matrisen (tredje raden) ignoreras.

TransformVectors(ReadOnlySpan<Point>)

Multiplicerar varje vektor i en matris med matrisen. Översättningselementen i den här matrisen (tredje raden) ignoreras.

TransformVectors(ReadOnlySpan<PointF>)

Multiplicerar varje vektor i en matris med matrisen. Översättningselementen i den här matrisen (tredje raden) ignoreras.

TransformVectors(Point[])

Källa:
Matrix.cs
Källa:
Matrix.cs
Källa:
Matrix.cs
Källa:
Matrix.cs
Källa:
Matrix.cs
Källa:
Matrix.cs
Källa:
Matrix.cs
Källa:
Matrix.cs

Tillämpar endast skalnings- och rotationskomponenterna i detta Matrix på den angivna matrisen med punkter.

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

Parametrar

pts
Point[]

En matris med Point strukturer som representerar de punkter som ska transformeras.

Exempel

Följande kodexempel är utformat för användning med Windows Forms och kräver PaintEventArgse, ett Paint händelseobjekt. Koden utför följande åtgärder:

  • Skapar en matris med punkter som utgör en rektangel.

  • Ritar den här matrisen med punkter till skärmen innan du tillämpar en skalningstransformering (den blå rektangeln).

  • Skapar en matris och skalar den med 3 i x-axeln och 2 i y-axeln och översätter den med 100 i båda axlarna.

  • Visar en lista över matriselementen på skärmen.

  • Tillämpar den här matristransformen på matrisen med punkter.

  • Ritar den transformerade matrisen till skärmen (den röda rektangeln).

Observera att den röda rektangeln har skalats av en faktor 3 i x-axeln och med 2 i y-axeln, inklusive det övre vänstra hörnet i rektangeln (rektangelns börjanpunkt) men översättningsvektorn (de två sista elementen i matrisen) ignoreras.

public:
   void TransformVectorsExample( 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, scale it, and translate it.
      Matrix^ myMatrix = gcnew Matrix;
      myMatrix->Scale( 3, 2, MatrixOrder::Append );
      myMatrix->Translate( 100, 100, MatrixOrder::Append );

      // List the matrix elements to the screen.
      ListMatrixElements( e, myMatrix, "Scaled and Translated Matrix", 6, 20 );

      // Apply the transform to the array.
      myMatrix->TransformVectors( myArray );

      // Draw the Points to the screen again after applying the
      // transform.
      e->Graphics->DrawLines( myPen2, myArray );
   }

   //-------------------------------------------------------
   // This function is a helper function to
   // list the contents of a matrix.
   //-------------------------------------------------------
   void ListMatrixElements( PaintEventArgs^ e, Matrix^ matrix, String^ matrixName, int numElements, int y )
   {
      // Set up variables for drawing the array
      // of points to the screen.
      int i;
      float x = 20,X = 200;
      System::Drawing::Font^ myFont = gcnew System::Drawing::Font( "Arial",8 );
      SolidBrush^ myBrush = gcnew SolidBrush( Color::Black );

      // Draw the matrix name to the screen.
      e->Graphics->DrawString( String::Concat( matrixName, ":  " ), myFont, myBrush, (float)x, (float)y );

      // Draw the set of path points and types to the screen.
      for ( i = 0; i < numElements; i++ )
      {
         e->Graphics->DrawString( String::Concat( matrix->Elements[ i ], ", " ), myFont, myBrush, (float)X, (float)y );
         X += 30;
      }
   }
public void TransformVectorsExample(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, scale it, and translate it.
    Matrix myMatrix = new Matrix();
    myMatrix.Scale(3, 2, MatrixOrder.Append);
    myMatrix.Translate(100, 100, MatrixOrder.Append);
             
    // List the matrix elements to the screen.
    ListMatrixElements(e,
        myMatrix,
        "Scaled and Translated Matrix",
        6,
        20);
             
    // Apply the transform to the array.
    myMatrix.TransformVectors(myArray);
             
    // Draw the Points to the screen again after applying the
    // transform.
    e.Graphics.DrawLines(myPen2, myArray);
}
             
//-------------------------------------------------------
// This function is a helper function to
// list the contents of a matrix.
//-------------------------------------------------------
public void ListMatrixElements(
    PaintEventArgs e,
    Matrix matrix,
    string matrixName,
    int numElements,
    int y)
{
             
    // Set up variables for drawing the array
    // of points to the screen.
    int i;
    float x = 20, X = 200;
    Font myFont = new Font("Arial", 8);
    SolidBrush myBrush = new SolidBrush(Color.Black);
             
    // Draw the matrix name to the screen.
    e.Graphics.DrawString(
        matrixName + ":  ",
        myFont,
        myBrush,
        x,
        y);
             
    // Draw the set of path points and types to the screen.
    for(i=0; i<numElements; i++)
    {
        e.Graphics.DrawString(
            matrix.Elements[i].ToString() + ", ",
            myFont,
            myBrush,
            X,
            y);
        X += 30;
    }
}
Public Sub TransformVectorsExample(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.Translate(100, 100, MatrixOrder.Append)
    ListMatrixElementsHelper(e, myMatrix, _
    "Scaled and Translated Matrix", 6, 20)
    myMatrix.TransformVectors(myArray)

    ' Draw the Points to the screen again after applying the
    ' transform.
    e.Graphics.DrawLines(myPen2, myArray)
End Sub

' A helper function to list the contents of a matrix.
Public Sub ListMatrixElementsHelper(ByVal e As PaintEventArgs, _
ByVal matrix As Matrix, ByVal matrixName As String, ByVal numElements As Integer, _
ByVal y As Integer)

    ' Set up variables for drawing the array
    ' of points to the screen.
    Dim i As Integer
    Dim x As Single = 20
    Dim j As Single = 200
    Dim myFont As New Font("Arial", 8)
    Dim myBrush As New SolidBrush(Color.Black)

    ' Draw the matrix name to the screen.
    e.Graphics.DrawString(matrixName + ":  ", myFont, myBrush, x, y)

    ' Draw the set of path points and types to the screen.
    For i = 0 To numElements - 1
        e.Graphics.DrawString(matrix.Elements(i).ToString() + ", ", _
        myFont, myBrush, j, y)
        j += 30
    Next i
End Sub

Gäller för

TransformVectors(PointF[])

Källa:
Matrix.cs
Källa:
Matrix.cs
Källa:
Matrix.cs
Källa:
Matrix.cs
Källa:
Matrix.cs
Källa:
Matrix.cs
Källa:
Matrix.cs
Källa:
Matrix.cs

Multiplicerar varje vektor i en matris med matrisen. Översättningselementen i den här matrisen (tredje raden) ignoreras.

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

Parametrar

pts
PointF[]

En matris med Point strukturer som representerar de punkter som ska transformeras.

Exempel

Ett exempel finns i TransformVectors(Point[]).

Gäller för

TransformVectors(ReadOnlySpan<Point>)

Källa:
Matrix.cs
Källa:
Matrix.cs
Källa:
Matrix.cs
Källa:
Matrix.cs
Källa:
Matrix.cs

Multiplicerar varje vektor i en matris med matrisen. Översättningselementen i den här matrisen (tredje raden) ignoreras.

public:
 void TransformVectors(ReadOnlySpan<System::Drawing::Point> pts);
public void TransformVectors(scoped ReadOnlySpan<System.Drawing.Point> pts);
member this.TransformVectors : ReadOnlySpan<System.Drawing.Point> -> unit
Public Sub TransformVectors (pts As ReadOnlySpan(Of Point))

Parametrar

pts
ReadOnlySpan<Point>

En matris med Point strukturer som representerar de punkter som ska transformeras.

Gäller för

TransformVectors(ReadOnlySpan<PointF>)

Källa:
Matrix.cs
Källa:
Matrix.cs
Källa:
Matrix.cs
Källa:
Matrix.cs
Källa:
Matrix.cs

Multiplicerar varje vektor i en matris med matrisen. Översättningselementen i den här matrisen (tredje raden) ignoreras.

public:
 void TransformVectors(ReadOnlySpan<System::Drawing::PointF> pts);
public void TransformVectors(scoped ReadOnlySpan<System.Drawing.PointF> pts);
member this.TransformVectors : ReadOnlySpan<System.Drawing.PointF> -> unit
Public Sub TransformVectors (pts As ReadOnlySpan(Of PointF))

Parametrar

pts
ReadOnlySpan<PointF>

En matris med Point strukturer som representerar de punkter som ska transformeras.

Gäller för