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 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) | |
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() | |
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) |
Implantações explícitas de interface
IFormattable.ToString(String, IFormatProvider) |
Formata o valor da instância atual usando o formato especificado. |