Compartir vía


Matrix Estructura

Definición

Representa una matriz de transformación affine de 3x3 que se usa para las transformaciones en el espacio 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
Herencia
Matrix
Atributos
Implementaciones

Comentarios

Una matriz 3x3 se usa para transformaciones en un plano x-y 2D. Las matrices de transformación afines se pueden multiplicar para formar cualquier número de transformaciones lineales, que incluyen rotación e inclinación (cizalladura), seguidas de la traslación. Una matriz de transformación affine tiene su columna final igual a (0, 0, 1), por lo que solo deben especificarse los miembros de las dos primeras columnas. Tenga en cuenta que los vectores se expresan como vectores de fila, no como vectores de columna.

Un WPF Matrix se almacena mediante el orden de fila principal y tiene la siguiente estructura:

Columna 1 Columna 2 Columna 3
M11 M12 0
M21 M22 0
OffsetX OffsetY 1

Los miembros de la última fila OffsetX y OffsetY, representan valores de traducción.

En métodos y propiedades, la matriz de transformación normalmente se especifica como un vector con solo seis miembros, como se indica a continuación:

(M11, , M21M12, M22, OffsetX, ) OffsetY

Aunque puede usar una Matrix estructura directamente para traducir puntos individuales o con un MatrixTransform objeto para transformar objetos, WPF también proporciona un conjunto de clases que permiten transformar objetos sin trabajar directamente con matrices: RotateTransform, ScaleTransform, SkewTransformy TranslateTransform.

Uso de atributos XAML

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

Valores XAML

m11System.Double

Valor de la primera fila y la primera columna de este Matrix. Para obtener más información, consulte la propiedad M11.

m12System.Double

Valor de la primera fila y la segunda columna. Para obtener más información, consulte la propiedad M12.

m21System.Double

Valor de la segunda fila y primera columna. Para obtener más información, consulte la propiedad M21.

m22System.Double

Valor de la segunda fila y segunda columna. Para obtener más información, consulte la propiedad M22.

offsetXSystem.Double

Valor de la tercera fila y primera columna. Para obtener más información, consulte la propiedad OffsetX.

offsetYSystem.Double

Valor de la tercera fila y segunda columna. Para obtener más información, consulte la propiedad OffsetY.

Constructores

Nombre Description
Matrix(Double, Double, Double, Double, Double, Double)

Inicializa una nueva instancia de la Matrix estructura.

Propiedades

Nombre Description
Determinant

Obtiene el determinante de esta Matrix estructura.

HasInverse

Obtiene un valor que indica si esta Matrix estructura es invertible.

Identity

Obtiene una identidad Matrix.

IsIdentity

Obtiene un valor que indica si esta Matrix estructura es una matriz de identidad.

M11

Obtiene o establece el valor de la primera fila y la primera columna de esta Matrix estructura.

M12

Obtiene o establece el valor de la primera fila y la segunda columna de esta Matrix estructura.

M21

Obtiene o establece el valor de la segunda fila y la primera columna de esta Matrix estructura.

M22

Obtiene o establece el valor de la segunda fila y la segunda columna de esta Matrix estructura.

OffsetX

Obtiene o establece el valor de la tercera fila y la primera columna de esta Matrix estructura.

OffsetY

Obtiene o establece el valor de la tercera fila y la segunda columna de esta Matrix estructura.

Métodos

Nombre Description
Append(Matrix)

Anexa la estructura especificada Matrix a esta Matrix estructura.

Equals(Matrix, Matrix)

Determina si las dos estructuras especificadas Matrix son idénticas.

Equals(Matrix)

Determina si la estructura especificada Matrix es idéntica a esta instancia.

Equals(Object)

Determina si el objeto especificado Object es una Matrix estructura idéntica a esta Matrix.

GetHashCode()

Devuelve el código hash de esta Matrix estructura.

Invert()

Invierte esta Matrix estructura.

Multiply(Matrix, Matrix)

Multiplica una Matrix estructura por otra Matrix estructura.

Parse(String)

Convierte una String representación de una matriz en la estructura equivalente Matrix .

Prepend(Matrix)

Antepone la estructura especificada Matrix a esta Matrix estructura.

Rotate(Double)

Aplica un giro del ángulo especificado sobre el origen de esta Matrix estructura.

RotateAt(Double, Double, Double)

Gira esta matriz sobre el punto especificado.

RotateAtPrepend(Double, Double, Double)

Antepone un giro del ángulo especificado en el punto especificado a esta Matrix estructura.

RotatePrepend(Double)

Antepone un giro del ángulo especificado a esta Matrix estructura.

Scale(Double, Double)

Anexa el vector de escala especificado a esta Matrix estructura.

ScaleAt(Double, Double, Double, Double)

Escala esto Matrix por la cantidad especificada sobre el punto especificado.

ScaleAtPrepend(Double, Double, Double, Double)

Antepone la escala especificada sobre el punto especificado de este Matrix.

ScalePrepend(Double, Double)

Antepone el vector de escala especificado a esta Matrix estructura.

SetIdentity()

Cambia esta Matrix estructura en una matriz de identidades.

Skew(Double, Double)

Anexa una asimetría de los grados especificados en las dimensiones x e y a esta Matrix estructura.

SkewPrepend(Double, Double)

Antepone una asimetría de los grados especificados en las dimensiones x e y a esta Matrix estructura.

ToString()

Crea una String representación de esta Matrix estructura.

ToString(IFormatProvider)

Crea una String representación de esta Matrix estructura con información de formato específica de la referencia cultural.

Transform(Point)

Transforma el punto especificado por Matrix y devuelve el resultado.

Transform(Point[])

Transforma los puntos especificados por este Matrix.

Transform(Vector)

Transforma el vector especificado por este Matrix.

Transform(Vector[])

Transforma los vectores especificados por este Matrix.

Translate(Double, Double)

Anexa una traducción de los desplazamientos especificados a esta Matrix estructura.

TranslatePrepend(Double, Double)

Antepone una traducción de los desplazamientos especificados a esta Matrix estructura.

Operadores

Nombre Description
Equality(Matrix, Matrix)

Determina si las dos estructuras especificadas Matrix son idénticas.

Inequality(Matrix, Matrix)

Determina si las dos estructuras especificadas Matrix no son idénticas.

Multiply(Matrix, Matrix)

Multiplica una Matrix estructura por otra Matrix estructura.

Implementaciones de interfaz explícitas

Nombre Description
IFormattable.ToString(String, IFormatProvider)

Da formato al valor de la instancia actual mediante el formato especificado.

Se aplica a

Consulte también