Matrix Estructura
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- 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. |