Matrix Struktura

Definice

Představuje transformační matici spřažení 3x3, která se používá pro transformace v dvojrozměrném prostoru.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))]
public struct Matrix : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))]
[System.Serializable]
public struct Matrix : IFormattable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))>]
type Matrix = struct
    interface IFormattable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))>]
[<System.Serializable>]
type Matrix = struct
    interface IFormattable
Public Structure Matrix
Implements IFormattable
Dědičnost
Matrix
Atributy
Implementuje

Poznámky

Matice 3x3 se používá pro transformace v dvojrozměrné rovině x-y.A 3x3 matrix is used for transformations in a 2-D x-y plane. Matrice transformace spřažení je možné vynásobit a vytvořit libovolný počet lineárních transformací, jako je například rotace a zkosení (zkosení) následovaný překladem.Affine transformation matrices can be multiplied to form any number of linear transformations, such as rotation and skew (shear), followed by translation. Matice transformace spřažení má konečný sloupec, který se rovná (0, 0, 1), takže je třeba zadat pouze členy v prvních dvou sloupcích.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. Všimněte si, že vektory jsou vyjádřeny jako vektory řádků, nikoli vektory sloupce.Note that vectors are expressed as row-vectors, not column vectors.

WPF Matrix je uložený pomocí pořadí hlavních řádků a má následující strukturu:A WPF Matrix is stored using row-major order and has the following structure:

M11 M12 00
M21 M22 00
OffsetX OffsetY 11

Členy v posledním řádku OffsetX a OffsetY , reprezentují hodnoty překladu.The members in the last row, OffsetX and OffsetY, represent translation values.

V metodách a vlastnostech je matice transformace obvykle zadána jako vektor s pouze šesti členy, a to následujícím způsobem: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)

I když lze použít Matrix strukturu přímo k překladu jednotlivých bodů nebo s objektem MatrixTransform k transformaci objektů, WPF také poskytuje sadu tříd, které umožňují transformovat objekty bez nutnosti pracovat přímo s maticemi: RotateTransform , ScaleTransform , a SkewTransform TranslateTransform .Although you can use a Matrix structure directly to translate individual points, or with a MatrixTransform to transform objects, WPF also provides a set of classes that enable you to transform objects without working directly with matrices: RotateTransform, ScaleTransform, SkewTransform, and TranslateTransform.

Použití atributu XAMLXAML Attribute Usage

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

Hodnoty XAMLXAML Values

m11m11
System.Double

Hodnota v prvním řádku a prvním sloupci tohoto sloupce Matrix .The value in the first row and first column of this Matrix. Další informace najdete v tématu M11 vlastnost.For more information, see the M11 property.

m12m12
System.Double

Hodnota v prvním řádku a druhém sloupci.The value in the first row and second column. Další informace najdete v tématu M12 vlastnost.For more information, see the M12 property.

m21m21
System.Double

Hodnota ve druhém řádku a prvním sloupci.The value in the second row and first column. Další informace najdete v tématu M21 vlastnost.For more information, see the M21 property.

m22m22
System.Double

Hodnota ve druhém řádku a druhém sloupci.The value in the second row and second column. Další informace najdete v tématu M22 vlastnost.For more information, see the M22 property.

offsetXoffsetX
System.Double

Hodnota ve třetím řádku a prvním sloupciThe value in the third row and first column. Další informace najdete v tématu OffsetX vlastnost.For more information, see the OffsetX property.

posunyoffsetY
System.Double

Hodnota ve třetím řádku a druhém sloupci.The value in the third row and second column. Další informace najdete v tématu OffsetY vlastnost.For more information, see the OffsetY property.

Konstruktory

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

Inicializuje novou instanci Matrix struktury.Initializes a new instance of the Matrix structure.

Vlastnosti

Determinant

Získá determinant této Matrix struktury.Gets the determinant of this Matrix structure.

HasInverse

Získá hodnotu, která označuje, zda Matrix je tato struktura inverzi.Gets a value that indicates whether this Matrix structure is invertible.

Identity

Získá identitu Matrix .Gets an identity Matrix.

IsIdentity

Získá hodnotu, která označuje, zda Matrix je tato struktura maticí identity.Gets a value that indicates whether this Matrix structure is an identity matrix.

M11

Získá nebo nastaví hodnotu prvního řádku a prvního sloupce této Matrix struktury.Gets or sets the value of the first row and first column of this Matrix structure.

M12

Získá nebo nastaví hodnotu prvního řádku a druhého sloupce této Matrix struktury.Gets or sets the value of the first row and second column of this Matrix structure.

M21

Získá nebo nastaví hodnotu druhého řádku a prvního sloupce této Matrix struktury.Gets or sets the value of the second row and first column of this Matrix structure.

M22

Získá nebo nastaví hodnotu druhého řádku a druhého sloupce této Matrix struktury.Gets or sets the value of the second row and second column of this Matrix structure.

OffsetX

Získá nebo nastaví hodnotu třetího řádku a prvního sloupce této Matrix struktury.Gets or sets the value of the third row and first column of this Matrix structure.

OffsetY

Získá nebo nastaví hodnotu třetího řádku a druhého sloupce této Matrix struktury.Gets or sets the value of the third row and second column of this Matrix structure.

Metody

Append(Matrix)

Připojí určenou Matrix strukturu k této Matrix struktuře.Appends the specified Matrix structure to this Matrix structure.

Equals(Matrix)

Určuje, zda Matrix je zadaná struktura totožná s touto instancí.Determines whether the specified Matrix structure is identical to this instance.

Equals(Matrix, Matrix)

Určuje, zda jsou dvě zadané Matrix struktury identické.Determines whether the two specified Matrix structures are identical.

Equals(Object)

Určuje, zda je zadaná Object Matrix Struktura totožná s tímto Matrix .Determines whether the specified Object is a Matrix structure that is identical to this Matrix.

GetHashCode()

Vrátí kód hash této Matrix struktury.Returns the hash code for this Matrix structure.

Invert()

Obrátí tuto Matrix strukturu.Inverts this Matrix structure.

Multiply(Matrix, Matrix)

Vynásobí Matrix strukturu jinou Matrix strukturou.Multiplies a Matrix structure by another Matrix structure.

Parse(String)

Převede String reprezentace matice na ekvivalentní Matrix strukturu.Converts a String representation of a matrix into the equivalent Matrix structure.

Prepend(Matrix)

Dořadí určenou Matrix strukturu do této Matrix struktury.Prepends the specified Matrix structure onto this Matrix structure.

Rotate(Double)

Použije otočení zadaného úhlu o původu této Matrix struktury.Applies a rotation of the specified angle about the origin of this Matrix structure.

RotateAt(Double, Double, Double)

Otočí tuto matici o zadaném bodu.Rotates this matrix about the specified point.

RotateAtPrepend(Double, Double, Double)

Dořadí rotaci zadaného úhlu v určeném okamžiku do této Matrix struktury.Prepends a rotation of the specified angle at the specified point to this Matrix structure.

RotatePrepend(Double)

Dořadí rotaci zadaného úhlu do této Matrix struktury.Prepends a rotation of the specified angle to this Matrix structure.

Scale(Double, Double)

Připojí zadaný vektor měřítka do této Matrix struktury.Appends the specified scale vector to this Matrix structure.

ScaleAt(Double, Double, Double, Double)

Zmenší tuto Matrix hodnotu o zadanou velikost zadaného bodu.Scales this Matrix by the specified amount about the specified point.

ScaleAtPrepend(Double, Double, Double, Double)

Dořadí zadané měřítko o zadaný bod Matrix .Prepends the specified scale about the specified point of this Matrix.

ScalePrepend(Double, Double)

Dořadí zadaný vektor měřítka do této Matrix struktury.Prepends the specified scale vector to this Matrix structure.

SetIdentity()

Změní tuto Matrix strukturu na matici identity.Changes this Matrix structure into an identity matrix.

Skew(Double, Double)

Připojí k této struktuře zešikmení zadaných stupňů v dimenzích x a y Matrix .Appends a skew of the specified degrees in the x and y dimensions to this Matrix structure.

SkewPrepend(Double, Double)

Předá do této struktury zkosení zadaných stupňů v dimenzích x a y Matrix .Prepends a skew of the specified degrees in the x and y dimensions to this Matrix structure.

ToString()

Vytvoří String reprezentace této Matrix struktury.Creates a String representation of this Matrix structure.

ToString(IFormatProvider)

Vytvoří String reprezentace této Matrix struktury s informacemi o formátování specifických pro jazykovou verzi.Creates a String representation of this Matrix structure with culture-specific formatting information.

Transform(Point)

Transformuje zadaný bod pomocí Matrix a vrátí výsledek.Transforms the specified point by the Matrix and returns the result.

Transform(Point[])

Transformuje zadané body podle tohoto Matrix .Transforms the specified points by this Matrix.

Transform(Vector)

Transformuje zadaný vektor Matrix .Transforms the specified vector by this Matrix.

Transform(Vector[])

Transformuje zadané vektory Matrix .Transforms the specified vectors by this Matrix.

Translate(Double, Double)

Připojí překlad zadaného posunu k této Matrix struktuře.Appends a translation of the specified offsets to this Matrix structure.

TranslatePrepend(Double, Double)

Dosadí překlad zadaného posunu do této Matrix struktury.Prepends a translation of the specified offsets to this Matrix structure.

Operátory

Equality(Matrix, Matrix)

Určuje, zda jsou dvě zadané Matrix struktury identické.Determines whether the two specified Matrix structures are identical.

Inequality(Matrix, Matrix)

Určuje, zda jsou dvě zadané Matrix struktury identické.Determines whether the two specified Matrix structures are not identical.

Multiply(Matrix, Matrix)

Vynásobí Matrix strukturu jinou Matrix strukturou.Multiplies a Matrix structure by another Matrix structure.

Explicitní implementace rozhraní

IFormattable.ToString(String, IFormatProvider)

Zformátuje hodnotu aktuální instance pomocí zadaného formátu.Formats the value of the current instance using the specified format.

Platí pro