Matrix Estrutura
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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
O valor na primeira linha e na primeira coluna deste Matrix. Para obter mais informações, consulte a propriedade M11.
O valor na primeira linha e na segunda coluna. Para obter mais informações, consulte a propriedade M12.
O valor na segunda linha e na primeira coluna. Para obter mais informações, consulte a propriedade M21.
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) | |
| 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() | |
| 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) |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| IFormattable.ToString(String, IFormatProvider) |
Formata o valor da instância atual usando o formato especificado. |