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 afim podem ser multiplicadas para formar qualquer número de transformações lineares, como rotação e cisalhamento, seguidas de translaçã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 principal da linha e tem a seguinte estrutura:

Coluna 1 Coluna 2 Coluna 3
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, ScaleTransforme SkewTransformTranslateTransform.

Uso do atributo XAML

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

Valores XAML

m11System.Double

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

m12System.Double

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

m21System.Double

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

m22System.Double

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

OffsetxSystem.Double

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

OffsetySystem.Double

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

Construtores

Nome Description
Matrix(Double, Double, Double, Double, Double, Double)

Inicializa uma nova instância da Matrix estrutura.

Propriedades

Nome Description
Determinant

Obtém o determinante dessa Matrix estrutura.

HasInverse

Obtém um valor que indica se essa Matrix estrutura é inverterível.

Identity

Obtém uma identidade Matrix.

IsIdentity

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

M11

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

M12

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

M21

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

M22

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

OffsetX

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

OffsetY

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

Métodos

Nome Description
Append(Matrix)

Acrescenta a estrutura especificada Matrix a essa Matrix estrutura.

Equals(Matrix, Matrix)

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

Equals(Matrix)

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

Equals(Object)

Determina se a especificada Object é uma Matrix estrutura idêntica a essa Matrix.

GetHashCode()

Retorna o código hash para essa estrutura de Matrix.

Invert()

Inverte essa Matrix estrutura.

Multiply(Matrix, Matrix)

Multiplica uma Matrix estrutura por outra Matrix estrutura.

Parse(String)

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

Prepend(Matrix)

Acrescenta a estrutura especificada Matrix a essa Matrix estrutura.

Rotate(Double)

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

RotateAt(Double, Double, Double)

Gira essa matriz sobre o ponto especificado.

RotateAtPrepend(Double, Double, Double)

Prepara uma rotação do ângulo especificado no ponto especificado para essa Matrix estrutura.

RotatePrepend(Double)

Acrescenta uma rotação do ângulo especificado a essa Matrix estrutura.

Scale(Double, Double)

Acrescenta o vetor de escala especificado a essa Matrix estrutura.

ScaleAt(Double, Double, Double, Double)

Dimensiona isso Matrix pela quantidade especificada sobre o ponto especificado.

ScaleAtPrepend(Double, Double, Double, Double)

Acrescenta a escala especificada sobre o ponto especificado deste Matrix.

ScalePrepend(Double, Double)

Acrescenta o vetor de escala especificado a essa Matrix estrutura.

SetIdentity()

Altera essa Matrix estrutura em uma matriz de identidade.

Skew(Double, Double)

Acrescenta uma distorção dos graus especificados nas dimensões x e y a essa Matrix estrutura.

SkewPrepend(Double, Double)

Acrescenta uma distorção dos graus especificados nas dimensões x e y a essa Matrix estrutura.

ToString()

Cria uma String representação dessa Matrix estrutura.

ToString(IFormatProvider)

Cria uma String representação dessa Matrix estrutura 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 dos deslocamentos especificados a essa Matrix estrutura.

TranslatePrepend(Double, Double)

Prepara uma tradução dos deslocamentos especificados para essa Matrix estrutura.

Operadores

Nome Description
Equality(Matrix, Matrix)

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

Inequality(Matrix, Matrix)

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

Multiply(Matrix, Matrix)

Multiplica uma Matrix estrutura por outra Matrix estrutura.

Implantações explícitas de interface

Nome Description
IFormattable.ToString(String, IFormatProvider)

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

Aplica-se a

Confira também