Matrix Estrutura

Definição

Representa uma matriz de transformação 3x3 usada para transformações no espaço 2D.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
Herança
Matrix
Atributos
Implementações

Comentários

Uma matriz 3x3 é usada para transformações em um 2D2-D plano x-y.A 3x3 matrix is used for transformations in a 2D2-D x-y plane. As matrizes de transformação afim podem ser multiplicadas para formar qualquer número de transformações lineares, como rotação e distorção (distorção), seguida de tradução.Affine transformation matrices can be multiplied to form any number of linear transformations, such as rotation and skew (shear), followed by translation. Uma matriz de transformação afim tem sua coluna final igual a (0, 0, 1), portanto, somente os membros nas duas primeiras colunas precisam ser especificados.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. Observe que os vetores são expressos como vetores de linha, não vetores de coluna.Note that vectors are expressed as row-vectors, not column vectors.

WPFWPF UmMatrix é armazenado usando a ordem de linha principal e tem a seguinte estrutura:A WPFWPF Matrix is stored using row-major order and has the following structure:

M11 M12 00
M21 M22 00
OffsetX OffsetY 11

Os membros na última linha OffsetX e OffsetYrepresentam valores de tradução.The members in the last row, OffsetX and OffsetY, represent translation values.

Em métodos e propriedades, a matriz de transformação geralmente é especificada como um vetor com apenas seis membros, da seguinte maneira: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)

Embora você possa usar uma Matrix estrutura diretamente para traduzir pontos individuais, ou com um MatrixTransform para transformar objetos, WPFWPF o também fornece um conjunto de classes que permitem transformar objetos sem trabalhar diretamente com matrizes: ,, eTranslateTransform. RotateTransform ScaleTransform 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.

Uso do Atributo XAMLXAML Attribute Usage

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

Valores XAMLXAML Values

m11m11
System.Double

O valor na primeira linha e a primeira coluna deste Matrix.The value in the first row and first column of this Matrix. Para obter mais informações, consulte a propriedade M11.For more information, see the M11 property.

m12m12
System.Double

O valor na primeira linha e segunda coluna.The value in the first row and second column. Para obter mais informações, consulte a propriedade M12.For more information, see the M12 property.

m21m21
System.Double

O valor na segunda linha e primeira coluna.The value in the second row and first column. Para obter mais informações, consulte a propriedade M21.For more information, see the M21 property.

m22m22
System.Double

O valor na segunda linha e segunda coluna.The value in the second row and second column. Para obter mais informações, consulte a propriedade M22.For more information, see the M22 property.

offsetXoffsetX
System.Double

O valor na terceira linha e primeira coluna.The value in the third row and first column. Para obter mais informações, consulte a propriedade OffsetX.For more information, see the OffsetX property.

offsetYoffsetY
System.Double

O valor na terceira linha e segunda coluna.The value in the third row and second column. Para obter mais informações, consulte a propriedade OffsetY.For more information, see the OffsetY property.

Construtores

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

Inicializa uma nova instância da estrutura Matrix.Initializes a new instance of the Matrix structure.

Propriedades

Determinant

Obtém o determinante dessa estrutura Matrix.Gets the determinant of this Matrix structure.

HasInverse

Obtém um valor que indica se esta estrutura Matrix pode ser invertida.Gets a value that indicates whether this Matrix structure is invertible.

Identity

Obtém um Matrix de identidade.Gets an identity Matrix.

IsIdentity

Obtém um valor que indica se esta estrutura Matrix é uma matriz de identidade.Gets a value that indicates whether this Matrix structure is an identity matrix.

M11

Obtém ou define o valor da primeira linha e primeira coluna dessa estrutura Matrix.Gets or sets the value of the first row and first column of this Matrix structure.

M12

Obtém ou define o valor da primeira linha e segunda coluna dessa estrutura Matrix.Gets or sets the value of the first row and second column of this Matrix structure.

M21

Obtém ou define o valor da segunda linha e da primeira coluna desta estrutura Matrix.Gets or sets the value of the second row and first column of this Matrix structure.

M22

Obtém ou define o valor da segunda linha e da segunda coluna desta estrutura Matrix.Gets or sets the value of the second row and second column of this Matrix structure.

OffsetX

Obtém ou define o valor da terceira linha e da primeira coluna desta estrutura Matrix.Gets or sets the value of the third row and first column of this Matrix structure.

OffsetY

Obtém ou define o valor da terceira linha e da segunda coluna desta estrutura Matrix.Gets or sets the value of the third row and second column of this Matrix structure.

Métodos

Append(Matrix)

Acrescenta a estrutura Matrix especificada a esta estrutura Matrix.Appends the specified Matrix structure to this Matrix structure.

Equals(Matrix)

Determina se a estrutura Matrix especificada é idêntica a esta instância.Determines whether the specified Matrix structure is identical to this instance.

Equals(Matrix, Matrix)

Determina se as duas estruturas Matrix especificadas são idênticas.Determines whether the two specified Matrix structures are identical.

Equals(Object)

Determina se o Object especificado é uma estrutura Matrix idêntica a esta Matrix.Determines whether the specified Object is a Matrix structure that is identical to this Matrix.

GetHashCode()

Retorna o código hash para esta estrutura Matrix.Returns the hash code for this Matrix structure.

Invert()

Inverte essa estrutura Matrix.Inverts this Matrix structure.

Multiply(Matrix, Matrix)

Multiplica uma estrutura Matrix por outra estrutura Matrix.Multiplies a Matrix structure by another Matrix structure.

Parse(String)

Converte uma representação String de uma matriz em uma estrutura Matrix equivalente.Converts a String representation of a matrix into the equivalent Matrix structure.

Prepend(Matrix)

Precede a estrutura Matrix especificada nesta estrutura Matrix.Prepends the specified Matrix structure onto this Matrix structure.

Rotate(Double)

Aplica uma rotação do ângulo especificado sobre a origem desta estrutura Matrix.Applies a rotation of the specified angle about the origin of this Matrix structure.

RotateAt(Double, Double, Double)

Gira esta matriz sobre o ponto especificado.Rotates this matrix about the specified point.

RotateAtPrepend(Double, Double, Double)

Precede uma rotação do ângulo especificado no ponto especificado para esta estrutura Matrix.Prepends a rotation of the specified angle at the specified point to this Matrix structure.

RotatePrepend(Double)

Precede uma rotação do ângulo especificado para esta estrutura Matrix.Prepends a rotation of the specified angle to this Matrix structure.

Scale(Double, Double)

Acrescenta o vetor de escala especificado a esta estrutura Matrix.Appends the specified scale vector to this Matrix structure.

ScaleAt(Double, Double, Double, Double)

Dimensiona esse Matrix pelo valor especificado sobre o ponto especificado.Scales this Matrix by the specified amount about the specified point.

ScaleAtPrepend(Double, Double, Double, Double)

Precede a escala especificada sobre o ponto especificado deste Matrix.Prepends the specified scale about the specified point of this Matrix.

ScalePrepend(Double, Double)

Precede o vetor de escala especificado a esta estrutura Matrix.Prepends the specified scale vector to this Matrix structure.

SetIdentity()

Altera essa estrutura Matrix em uma matriz de identidade.Changes this Matrix structure into an identity matrix.

Skew(Double, Double)

Acrescenta uma distorção dos graus especificados nas dimensões X e Y a esta estrutura Matrix.Appends a skew of the specified degrees in the x and y dimensions to this Matrix structure.

SkewPrepend(Double, Double)

Precede uma distorção dos graus especificados nas dimensões X e Y a esta estrutura Matrix.Prepends a skew of the specified degrees in the x and y dimensions to this Matrix structure.

ToString()

Cria uma representação String desta estrutura Matrix.Creates a String representation of this Matrix structure.

ToString(IFormatProvider)

Cria uma representação String dessa estrutura Matrix com informações de formatação específicas da cultura.Creates a String representation of this Matrix structure with culture-specific formatting information.

Transform(Point)

Transforma o ponto especificado pelo Matrix e retorna o resultado.Transforms the specified point by the Matrix and returns the result.

Transform(Point[])

Transforma os pontos especificados por este Matrix.Transforms the specified points by this Matrix.

Transform(Vector)

Transforma o vetor especificado por este Matrix.Transforms the specified vector by this Matrix.

Transform(Vector[])

Transforma os vetores especificados por este Matrix.Transforms the specified vectors by this Matrix.

Translate(Double, Double)

Acrescenta uma tradução de deslocamentos especificados a esta estrutura Matrix.Appends a translation of the specified offsets to this Matrix structure.

TranslatePrepend(Double, Double)

Precede uma tradução de deslocamentos especificados a esta estrutura Matrix.Prepends a translation of the specified offsets to this Matrix structure.

Operadores

Equality(Matrix, Matrix)

Determina se as duas estruturas Matrix especificadas são idênticas.Determines whether the two specified Matrix structures are identical.

Inequality(Matrix, Matrix)

Determina se as duas estruturas Matrix especificadas não são idênticas.Determines whether the two specified Matrix structures are not identical.

Multiply(Matrix, Matrix)

Multiplica uma estrutura Matrix por outra estrutura Matrix.Multiplies a Matrix structure by another Matrix structure.

Implantações explícitas de interface

IFormattable.ToString(String, IFormatProvider)

Formata o valor da instância atual usando o formato especificado.Formats the value of the current instance using the specified format.

Aplica-se a

Veja também