Compartir vía


Matrix Estructura

Definición

Representa una matriz de transformación afín de 3 x 3 usada para las transformaciones en un espacio bidimensional.

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 afín se pueden multiplicar para formar cualquier número de transformaciones lineales, como rotación y distorsión (sesgado), seguidas de una 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:

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, M12, M21, 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

m11
System.Double

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

m12
System.Double

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

m21
System.Double

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

m22
System.Double

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

offsetX
System.Double

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

offsetY
System.Double

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

Constructores

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

Inicializa una nueva instancia de la estructura Matrix.

Propiedades

Determinant

Obtiene el determinante de esta estructura Matrix.

HasInverse

Obtiene un valor que indica si esta estructura Matrix se puede invertir.

Identity

Obtiene una Matrix de identidad.

IsIdentity

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

M11

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

M12

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

M21

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

M22

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

OffsetX

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

OffsetY

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

Métodos

Append(Matrix)

Anexa la estructura Matrix especificada a esta estructura Matrix.

Equals(Matrix)

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

Equals(Matrix, Matrix)

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

Equals(Object)

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

GetHashCode()

Devuelve el código hash de esta estructura Matrix.

Invert()

Invierte esta estructura Matrix.

Multiply(Matrix, Matrix)

Multiplica una estructura Matrix por otra estructura Matrix.

Parse(String)

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

Prepend(Matrix)

Antepone la estructura Matrix especificada a esta estructura Matrix.

Rotate(Double)

Aplica un giro del ángulo especificado en torno al origen de esta estructura Matrix.

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 estructura Matrix.

RotatePrepend(Double)

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

Scale(Double, Double)

Anexa el vector de escala especificado a esta estructura Matrix.

ScaleAt(Double, Double, Double, Double)

Ajusta a escala esta Matrix por la cantidad especificada sobre el punto especificado.

ScaleAtPrepend(Double, Double, Double, Double)

Antepone el ajuste de escala especificado sobre el punto especificado de la Matrix.

ScalePrepend(Double, Double)

Antepone el vector de escala especificado a esta estructura Matrix.

SetIdentity()

Cambia esta estructura Matrix a una matriz de identidad.

Skew(Double, Double)

Anexa un sesgado de los grados especificados en las dimensiones X e Y a esta estructura Matrix.

SkewPrepend(Double, Double)

Antepone un sesgado de los grados especificados en las dimensiones X e Y a esta estructura Matrix.

ToString()

Crea una representación de tipo String de esta estructura Matrix.

ToString(IFormatProvider)

Crea una representación de tipo String de esta estructura Matrix 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 esta Matrix.

Transform(Vector)

Transforma el vector especificado por esta Matrix.

Transform(Vector[])

Transforma los vectores especificados por esta Matrix.

Translate(Double, Double)

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

TranslatePrepend(Double, Double)

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

Operadores

Equality(Matrix, Matrix)

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

Inequality(Matrix, Matrix)

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

Multiply(Matrix, Matrix)

Multiplica una estructura Matrix por otra estructura Matrix.

Implementaciones de interfaz explícitas

IFormattable.ToString(String, IFormatProvider)

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

Se aplica a

Consulte también