Compartilhar via


Matrix Estrutura

Definição

Representa uma matriz de transformação 3x3 usada para transformações no espaço 2D.

public value class Matrix : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))]
[System.Serializable]
public struct Matrix : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))]
public struct Matrix : IFormattable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))>]
[<System.Serializable>]
type Matrix = struct
    interface IFormattable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))>]
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 plano x-y 2D. Matrizes de transformação afins podem ser multiplicadas para formar qualquer número de transformações lineares, como rotação e distorção, seguidas de conversão. Uma matriz de transformação affine tem sua coluna final igual a (0, 0, 1), portanto, somente os membros nas duas primeiras colunas precisam ser especificados. Observe que os vetores são expressos como vetores de linha, não vetores de coluna.

Um WPF Matrix é armazenado usando a ordem de linha principal e tem a seguinte estrutura:

M11 M12 0
M21 M22 0
OffsetX OffsetY 1

Os membros na última linha OffsetX e OffsetY, representam valores de tradução.

Em métodos e propriedades, a matriz de transformação geralmente é especificada como um vetor com apenas seis membros, da seguinte maneira:

(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, o WPF também fornece um conjunto de classes que permitem transformar objetos sem trabalhar diretamente com matrizes: RotateTransform, ScaleTransform, e SkewTransformTranslateTransform.

Uso do Atributo XAML

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

Valores XAML

m11
System.Double

O valor na primeira linha e na primeira coluna deste Matrix. Para obter mais informações, consulte a propriedade M11.

m12
System.Double

O valor na primeira linha e na segunda coluna. Para obter mais informações, consulte a propriedade M12.

m21
System.Double

O valor na segunda linha e na primeira coluna. Para obter mais informações, consulte a propriedade M21.

m22
System.Double

O valor na segunda linha e na segunda coluna. Para obter mais informações, consulte a propriedade M22.

Offsetx
System.Double

O valor na terceira linha e na primeira coluna. Para obter mais informações, consulte a propriedade OffsetX.

Offsety
System.Double

O valor na terceira linha e na segunda coluna. Para obter mais informações, consulte a propriedade OffsetY.

Construtores

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

Inicializa uma nova instância da estrutura Matrix.

Propriedades

Determinant

Obtém o determinante dessa estrutura Matrix.

HasInverse

Obtém um valor que indica se esta estrutura Matrix pode ser invertida.

Identity

Obtém um Matrix de identidade.

IsIdentity

Obtém um valor que indica se esta estrutura Matrix é uma matriz de identidade.

M11

Obtém ou define o valor da primeira linha e primeira coluna dessa estrutura Matrix.

M12

Obtém ou define o valor da primeira linha e segunda coluna dessa estrutura Matrix.

M21

Obtém ou define o valor da segunda linha e da primeira coluna desta estrutura Matrix.

M22

Obtém ou define o valor da segunda linha e da segunda coluna desta estrutura Matrix.

OffsetX

Obtém ou define o valor da terceira linha e da primeira coluna desta estrutura Matrix.

OffsetY

Obtém ou define o valor da terceira linha e da segunda coluna desta estrutura Matrix.

Métodos

Append(Matrix)

Acrescenta a estrutura Matrix especificada a esta estrutura Matrix.

Equals(Matrix)

Determina se a estrutura Matrix especificada é idêntica a esta instância.

Equals(Matrix, Matrix)

Determina se as duas estruturas Matrix especificadas são idênticas.

Equals(Object)

Determina se o Object especificado é uma estrutura Matrix idêntica a esta Matrix.

GetHashCode()

Retorna o código hash para esta estrutura Matrix.

Invert()

Inverte essa estrutura Matrix.

Multiply(Matrix, Matrix)

Multiplica uma estrutura Matrix por outra estrutura Matrix.

Parse(String)

Converte uma representação String de uma matriz em uma estrutura Matrix equivalente.

Prepend(Matrix)

Precede a estrutura Matrix especificada nesta estrutura Matrix.

Rotate(Double)

Aplica uma rotação do ângulo especificado sobre a origem desta estrutura Matrix.

RotateAt(Double, Double, Double)

Gira esta matriz sobre o ponto especificado.

RotateAtPrepend(Double, Double, Double)

Precede uma rotação do ângulo especificado no ponto especificado para esta estrutura Matrix.

RotatePrepend(Double)

Precede uma rotação do ângulo especificado para esta estrutura Matrix.

Scale(Double, Double)

Acrescenta o vetor de escala especificado a esta estrutura Matrix.

ScaleAt(Double, Double, Double, Double)

Dimensiona esse Matrix pelo valor especificado sobre o ponto especificado.

ScaleAtPrepend(Double, Double, Double, Double)

Precede a escala especificada sobre o ponto especificado deste Matrix.

ScalePrepend(Double, Double)

Precede o vetor de escala especificado a esta estrutura Matrix.

SetIdentity()

Altera essa estrutura Matrix em uma matriz de identidade.

Skew(Double, Double)

Acrescenta uma distorção dos graus especificados nas dimensões X e Y a esta estrutura Matrix.

SkewPrepend(Double, Double)

Precede uma distorção dos graus especificados nas dimensões X e Y a esta estrutura Matrix.

ToString()

Cria uma representação String desta estrutura Matrix.

ToString(IFormatProvider)

Cria uma representação String dessa estrutura Matrix com informações de formatação específicas da cultura.

Transform(Point)

Transforma o ponto especificado pelo Matrix e retorna o resultado.

Transform(Point[])

Transforma os pontos especificados por este Matrix.

Transform(Vector)

Transforma o vetor especificado por este Matrix.

Transform(Vector[])

Transforma os vetores especificados por este Matrix.

Translate(Double, Double)

Acrescenta uma tradução de deslocamentos especificados a esta estrutura Matrix.

TranslatePrepend(Double, Double)

Precede uma tradução de deslocamentos especificados a esta estrutura Matrix.

Operadores

Equality(Matrix, Matrix)

Determina se as duas estruturas Matrix especificadas são idênticas.

Inequality(Matrix, Matrix)

Determina se as duas estruturas Matrix especificadas não são idênticas.

Multiply(Matrix, Matrix)

Multiplica uma estrutura Matrix por outra estrutura Matrix.

Implantações explícitas de interface

IFormattable.ToString(String, IFormatProvider)

Formata o valor da instância atual usando o formato especificado.

Aplica-se a

Confira também