Matrix.TransformVectors Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengalikan setiap vektor dalam array dengan matriks. Elemen terjemahan matriks ini (baris ketiga) diabaikan.
Overload
TransformVectors(Point[]) |
Hanya menerapkan komponen skala dan putar Matrix ini ke array titik yang ditentukan. |
TransformVectors(PointF[]) |
Mengalikan setiap vektor dalam array dengan matriks. Elemen terjemahan matriks ini (baris ketiga) diabaikan. |
TransformVectors(ReadOnlySpan<Point>) | |
TransformVectors(ReadOnlySpan<PointF>) |
TransformVectors(Point[])
- Sumber:
- Matrix.cs
- Sumber:
- Matrix.cs
- Sumber:
- Matrix.cs
- Sumber:
- Matrix.cs
- Sumber:
- Matrix.cs
Hanya menerapkan komponen skala dan putar Matrix ini ke array titik yang ditentukan.
public:
void TransformVectors(cli::array <System::Drawing::Point> ^ pts);
public:
void TransformVectors(... cli::array <System::Drawing::Point> ^ pts);
public void TransformVectors (System.Drawing.Point[] pts);
public void TransformVectors (params System.Drawing.Point[] pts);
member this.TransformVectors : System.Drawing.Point[] -> unit
Public Sub TransformVectors (pts As Point())
Public Sub TransformVectors (ParamArray pts As Point())
Parameter
Contoh
Contoh kode berikut dirancang untuk digunakan dengan Windows Forms, dan memerlukan PaintEventArgse
, objek peristiwa Paint. Kode melakukan tindakan berikut:
Membuat array titik yang membentuk persegi panjang.
Menggambar array titik ini ke layar sebelum menerapkan transformasi penskalaan (persegi panjang biru).
Membuat matriks dan menskalakannya sebesar 3 di sumbu x dan 2 di sumbu y, dan menerjemahkannya dengan 100 di kedua sumbu.
Mencantumkan elemen matriks ke layar.
Menerapkan transformasi matriks ini ke array titik.
Menggambar array yang diubah ke layar (persegi panjang merah).
Perhatikan bahwa persegi panjang merah telah diskalakan oleh faktor 3 dalam sumbu x dan 2 di sumbu y, termasuk sudut kiri atas persegi panjang (titik awal persegi panjang) tetapi vektor terjemahan (dua elemen terakhir dari matriks) diabaikan.
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
Berlaku untuk
TransformVectors(PointF[])
- Sumber:
- Matrix.cs
- Sumber:
- Matrix.cs
- Sumber:
- Matrix.cs
- Sumber:
- Matrix.cs
- Sumber:
- Matrix.cs
Mengalikan setiap vektor dalam array dengan matriks. Elemen terjemahan matriks ini (baris ketiga) diabaikan.
public:
void TransformVectors(cli::array <System::Drawing::PointF> ^ pts);
public:
void TransformVectors(... cli::array <System::Drawing::PointF> ^ pts);
public void TransformVectors (System.Drawing.PointF[] pts);
public void TransformVectors (params System.Drawing.PointF[] pts);
member this.TransformVectors : System.Drawing.PointF[] -> unit
Public Sub TransformVectors (pts As PointF())
Public Sub TransformVectors (ParamArray pts As PointF())
Parameter
Contoh
Misalnya, lihat TransformVectors(Point[]).
Berlaku untuk
TransformVectors(ReadOnlySpan<Point>)
- Sumber:
- Matrix.cs
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))
Parameter
- pts
- ReadOnlySpan<Point>
Berlaku untuk
TransformVectors(ReadOnlySpan<PointF>)
- Sumber:
- Matrix.cs
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))
Parameter
- pts
- ReadOnlySpan<PointF>