Matrix Struktur

Definition

Stellt eine affine 3x3-Transformationsmatrix dar, die für Transformationen im zweidimensionalen Raum verwendet wird.Represents a 3x3 affine transformation matrix used for transformations in 2-D space.

public value class Matrix : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))]
[System.Serializable]
public struct Matrix : IFormattable
type Matrix = struct
    interface IFormattable
Public Structure Matrix
Implements IFormattable
Vererbung
Matrix
Attribute
Implementiert

Hinweise

Eine 3X3-Matrix wird für Transformationen in einer 2D2-D x-y-Ebene verwendet.A 3x3 matrix is used for transformations in a 2D2-D x-y plane. Affine Transformations Matrizen können so multipliziert werden, dass Sie beliebig viele lineare Transformationen bilden, z. b. Drehung und Schiefe (Scheren), gefolgt von der Übersetzung.Affine transformation matrices can be multiplied to form any number of linear transformations, such as rotation and skew (shear), followed by translation. Die letzte Spalte einer affinen Transformationsmatrix ist gleich (0,0), sodass nur die Elemente in den ersten beiden Spalten angegeben werden müssen.An affine transformation matrix has its final column equal to (0, 0, 1), so only the members in the first two columns need to be specified. Beachten Sie, dass Vektoren als Zeilen Vektoren, nicht als Spalten Vektoren ausgedrückt werden.Note that vectors are expressed as row-vectors, not column vectors.

WPFWPF EineMatrix wird mithilfe von Zeilen Hauptreihen Folge gespeichert und weist die folgende Struktur auf:A WPFWPF Matrix is stored using row-major order and has the following structure:

M11 M12 00
M21 M22 00
OffsetX OffsetY 11

Die Elemente in der letzten Zeile, OffsetX und OffsetY, stellen Übersetzungs Werte dar.The members in the last row, OffsetX and OffsetY, represent translation values.

In den Methoden und Eigenschaften wird die Transformationsmatrix in der Regel als Vektor mit nur sechs Membern angegeben, wie im folgenden dargestellt:In methods and properties, the transformation matrix is usually specified as a vector with only six members, as follows:

(M11, M12, M21, M22, OffsetX, OffsetY)(M11, M12, M21, M22, OffsetX, OffsetY)

Obwohl Sie eine Matrix Struktur direkt verwenden können, um einzelne Punkte zu übersetzen, MatrixTransform oder mit einem zum WPFWPF Transformieren von Objekten, bietet auch eine Reihe von Klassen, die es Ihnen ermöglichen, Objekte zu transformieren, ohne direkt mit Matrizen zu arbeiten: RotateTransform, ,ScaleTransform undTranslateTransform. SkewTransformAlthough you can use a Matrix structure directly to translate individual points, or with a MatrixTransform to transform objects, WPFWPF also provides a set of classes that enable you to transform objects without working directly with matrices: RotateTransform, ScaleTransform, SkewTransform, and TranslateTransform.

Verwendung von XAML-AttributenXAML Attribute Usage

<object property="m11, m12, m21, m22, offsetX, offsetY"/>  
- or -  
<object property="Identity"/>  

XAML-WerteXAML Values

m11m11
System.Double

Der Wert in der ersten Zeile und ersten Spalte der Matrix.The value in the first row and first column of this Matrix. Weitere Informationen finden Sie in den Ausführungen zur M11-Eigenschaft.For more information, see the M11 property.

m12m12
System.Double

Der Wert in der ersten Zeile und zweiten Spalte.The value in the first row and second column. Weitere Informationen finden Sie in den Ausführungen zur M12-Eigenschaft.For more information, see the M12 property.

m21m21
System.Double

Der Wert in der zweiten Zeile und ersten Spalte.The value in the second row and first column. Weitere Informationen finden Sie in den Ausführungen zur M21-Eigenschaft.For more information, see the M21 property.

m22m22
System.Double

Der Wert in der zweiten Zeile und zweiten Spalte.The value in the second row and second column. Weitere Informationen finden Sie in den Ausführungen zur M22-Eigenschaft.For more information, see the M22 property.

offsetXoffsetX
System.Double

Der Wert in der dritten Zeile und ersten Spalte.The value in the third row and first column. Weitere Informationen finden Sie in den Ausführungen zur OffsetX-Eigenschaft.For more information, see the OffsetX property.

offsetYoffsetY
System.Double

Der Wert in der dritten Zeile und zweiten Spalte.The value in the third row and second column. Weitere Informationen finden Sie in den Ausführungen zur OffsetY-Eigenschaft.For more information, see the OffsetY property.

Konstruktoren

Matrix(Double, Double, Double, Double, Double, Double)

Initialisiert eine neue Instanz der Matrix-Struktur.Initializes a new instance of the Matrix structure.

Eigenschaften

Determinant

Ruft die Determinante der Matrix-Struktur ab.Gets the determinant of this Matrix structure.

HasInverse

Ruft einen Wert ab, der angibt, ob die Matrix-Struktur invertierbar ist.Gets a value that indicates whether this Matrix structure is invertible.

Identity

Ruft eine Identitäts-Matrix ab.Gets an identity Matrix.

IsIdentity

Ruft einen Wert ab, der angibt, ob die Matrix-Struktur eine Identitätsmatrix ist.Gets a value that indicates whether this Matrix structure is an identity matrix.

M11

Ruft den Wert der ersten Zeile und ersten Spalte der Matrix-Struktur ab oder legt diesen fest.Gets or sets the value of the first row and first column of this Matrix structure.

M12

Ruft den Wert der ersten Zeile und zweiten Spalte der Matrix-Struktur ab oder legt diesen fest.Gets or sets the value of the first row and second column of this Matrix structure.

M21

Ruft den Wert der zweiten Zeile und ersten Spalte der Matrix-Struktur ab oder legt diesen fest.Gets or sets the value of the second row and first column of this Matrix structure.

M22

Ruft den Wert der zweiten Zeile und zweiten Spalte der Matrix-Struktur ab oder legt diesen fest.Gets or sets the value of the second row and second column of this Matrix structure.

OffsetX

Ruft den Wert der dritten Zeile und ersten Spalte der Matrix-Struktur ab oder legt diesen fest.Gets or sets the value of the third row and first column of this Matrix structure.

OffsetY

Ruft den Wert der dritten Zeile und zweiten Spalte der Matrix-Struktur ab oder legt diesen fest.Gets or sets the value of the third row and second column of this Matrix structure.

Methoden

Append(Matrix)

Fügt die angegebene Matrix-Struktur an diese Matrix-Struktur an.Appends the specified Matrix structure to this Matrix structure.

Equals(Matrix)

Bestimmt, ob die angegebene Matrix-Struktur mit dieser Instanz identisch ist.Determines whether the specified Matrix structure is identical to this instance.

Equals(Matrix, Matrix)

Bestimmt, ob die beiden angegebenen Matrix-Strukturen identisch sind.Determines whether the two specified Matrix structures are identical.

Equals(Object)

Bestimmt, ob das angegebene Object eine Matrix-Struktur ist, die mit der Matrix identisch ist.Determines whether the specified Object is a Matrix structure that is identical to this Matrix.

GetHashCode()

Gibt den Hashcode für diese Matrix-Struktur zurück.Returns the hash code for this Matrix structure.

Invert()

Invertiert die Matrix-Struktur.Inverts this Matrix structure.

Multiply(Matrix, Matrix)

Multipliziert eine Matrix-Struktur mit einer anderen Matrix-Struktur.Multiplies a Matrix structure by another Matrix structure.

Parse(String)

Konvertiert eine String-Darstellung einer Matrix in die entsprechende Matrix-Struktur.Converts a String representation of a matrix into the equivalent Matrix structure.

Prepend(Matrix)

Stellt dieser Matrix-Struktur die angegebene Matrix-Struktur voran.Prepends the specified Matrix structure onto this Matrix structure.

Rotate(Double)

Wendet eine Drehung im angegebenen Winkel um den Ursprung dieser Matrix-Struktur an.Applies a rotation of the specified angle about the origin of this Matrix structure.

RotateAt(Double, Double, Double)

Dreht die Matrix um den angegebenen Punkt.Rotates this matrix about the specified point.

RotateAtPrepend(Double, Double, Double)

Stellt der Matrix-Struktur eine Drehung um den angegebenen Winkel an dem angegebenen Punkt voran.Prepends a rotation of the specified angle at the specified point to this Matrix structure.

RotatePrepend(Double)

Stellt dieser Matrix-Struktur eine Drehung mit dem angegebenen Winkel voran.Prepends a rotation of the specified angle to this Matrix structure.

Scale(Double, Double)

Fügt den angegebenen Skalierungsvektor an diese Matrix-Struktur an.Appends the specified scale vector to this Matrix structure.

ScaleAt(Double, Double, Double, Double)

Skaliert die Matrix um den angegebenen Betrag um den angegebenen Punkt.Scales this Matrix by the specified amount about the specified point.

ScaleAtPrepend(Double, Double, Double, Double)

Stellt der Matrix die angegebene Skalierung auf dem angegebenen Punkt voran.Prepends the specified scale about the specified point of this Matrix.

ScalePrepend(Double, Double)

Stellt der Matrix-Struktur den angegebenen Skalierungsvektor voran.Prepends the specified scale vector to this Matrix structure.

SetIdentity()

Ändert die Matrix-Struktur in eine Identitätsmatrix.Changes this Matrix structure into an identity matrix.

Skew(Double, Double)

Fügt an die Matrix-Struktur eine Neigung mit den angegebenen Grad in der x- und y-Dimension an.Appends a skew of the specified degrees in the x and y dimensions to this Matrix structure.

SkewPrepend(Double, Double)

Stellt der Matrix-Struktur eine Neigung mit den angegebenen Grad in der x- und y-Dimension voran.Prepends a skew of the specified degrees in the x and y dimensions to this Matrix structure.

ToString()

Erstellt eine String-Darstellung dieser Matrix-Struktur.Creates a String representation of this Matrix structure.

ToString(IFormatProvider)

Erstellt eine String-Darstellung dieser Matrix-Struktur mit kulturspezifischen Formatierungsinformationen.Creates a String representation of this Matrix structure with culture-specific formatting information.

Transform(Point)

Transformiert den angegebenen Punkt mit der Matrix und gibt das Ergebnis zurück.Transforms the specified point by the Matrix and returns the result.

Transform(Point[])

Transformiert die angegebenen Punkte mit dieser Matrix.Transforms the specified points by this Matrix.

Transform(Vector)

Transformiert den angegebenen Vektor mit dieser Matrix.Transforms the specified vector by this Matrix.

Transform(Vector[])

Transformiert die angegebenen Vektoren mit dieser Matrix.Transforms the specified vectors by this Matrix.

Translate(Double, Double)

Fügt an die Matrix-Struktur eine Verschiebung um die angegebenen Offsets an.Appends a translation of the specified offsets to this Matrix structure.

TranslatePrepend(Double, Double)

Stellt der Matrix-Struktur eine Verschiebung um die angegebenen Offsets voran.Prepends a translation of the specified offsets to this Matrix structure.

Operatoren

Equality(Matrix, Matrix)

Bestimmt, ob die beiden angegebenen Matrix-Strukturen identisch sind.Determines whether the two specified Matrix structures are identical.

Inequality(Matrix, Matrix)

Bestimmt, ob die beiden angegebenen Matrix-Strukturen nicht identisch sind.Determines whether the two specified Matrix structures are not identical.

Multiply(Matrix, Matrix)

Multipliziert eine Matrix-Struktur mit einer anderen Matrix-Struktur.Multiplies a Matrix structure by another Matrix structure.

Explizite Schnittstellenimplementierungen

IFormattable.ToString(String, IFormatProvider)

Formatiert den Wert der aktuellen Instanz unter Verwendung des angegebenen Formats.Formats the value of the current instance using the specified format.

Gilt für:

Siehe auch