Matrix

Matrix class

Reemplaza la Matriz GDI+.

public class Matrix

Constructores

NombreDescripción
Matrix()Inicializa una nueva instancia de la clase Matrix como matriz de identidad.
Matrix(Matrix)Hace una copia delMatrix clase.
Matrix(Rectangle, Point[])Inicializa una nueva instancia delMatrix clase a la transformación geométrica definida por el rectángulo especificado y la matriz de puntos.
Matrix(RectangleF, PointF[])Inicializa una nueva instancia delMatrix clase a la transformación geométrica definida por el rectángulo especificado y la matriz de puntos.
Matrix(float, float, float, float, float, float)Inicializa una nueva instancia delMatrix clase.

Propiedades

NombreDescripción
Elements { get; }Obtiene una matriz de valores de punto flotante que representa los elementos de esteMatrix .
M11 { get; }Obtiene el elemento de la matriz en la primera columna de la primera fila. Representa la escala a lo largo del eje X.
M12 { get; }Obtiene el elemento de matriz en la primera fila, segunda columna. Representa cortante a lo largo del eje Y.
M21 { get; }Obtiene el elemento de la matriz en la primera columna de la segunda fila. Representa cortante a lo largo del eje X.
M22 { get; }Obtiene el elemento de matriz en la segunda columna de la segunda fila. Representa la escala a lo largo del eje Y.
M31 { get; }Obtiene el elemento de la matriz en la primera columna de la tercera fila. Representa la traslación a lo largo del eje X.
M32 { get; }Obtiene el elemento de la matriz en la primera columna de la tercera fila. Representa la traslación a lo largo del eje Y.

Métodos

NombreDescripción
override Equals(object)Determina si el especificadoObject es igual a esta instancia.
GetElements()Obtiene la copia de los elementos de la matriz.
override GetHashCode()Devuelve un código hash para esta instancia.
Multiply(Matrix)Multiplica esta Matriz por la matriz especificada en el parámetro de matriz usando (predeterminado) Orden antepuesto.
Multiply(Matrix, MatrixOrder)Multiplica esta Matriz por la matriz especificada en el parámetro de matriz, y en el orden especificado en el parámetro de orden.
Reset()Restablece esta Matriz para tener los elementos de la matriz identidad.
Rotate(float)Aplica una rotación en el sentido de las agujas del reloj de una cantidad especificada en el parámetro de ángulo, alrededor del origen (coordenadas x e y cero) para esta matriz en el orden predeterminado (anteponer).
Rotate(float, MatrixOrder)Aplica una rotación en el sentido de las agujas del reloj de una cantidad especificada en el parámetro de ángulo, alrededor del origen (coordenadas x e y cero) para esta Matriz en el orden especificado.
RotateAt(float, PointF)Aplica una rotación en el sentido de las agujas del reloj sobre el punto especificado a esta matriz en el orden predeterminado (anteponer).
RotateAt(float, PointF, MatrixOrder)Aplica una rotación en el sentido de las agujas del reloj sobre el punto especificado a esta Matriz en el orden especificado.
Scale(float, float)Aplica el vector de escala especificado (escalaX y escalaY) a esta Matriz usando (predeterminado) orden antepuesto.
Scale(float, float, MatrixOrder)Aplica el vector de escala especificado (scaleX y scaleY) a esteMatrix utilizando el orden especificado.
override ToString()Devuelve unString que representa esta instancia.
TransformPoints(PointF[])Aplica la transformación geométrica representada por esteMatrix una matriz especificada de puntos.
Translate(float, float)Aplica el vector de traducción especificado a esteMatrix usando (predeterminado) Orden antepuesto.
Translate(float, float, MatrixOrder)Aplica el vector de traducción especificado a esta Matriz en el orden especificado.
static Equals(Matrix, Matrix)Determina si dos matrices son iguales.

Campos

NombreDescripción
const TypeFlipEste bit indicador indica que la transformación definida por este objeto realiza un giro de imagen especular sobre algún eje que cambia el sistema de coordenadas normalmente de mano derecha a un sistema zurdo además de las conversiones indicadas por otros bits de bandera. Un sistema de coordenadas de mano derecha es uno en el que el eje X positivo gira en sentido contrario a las agujas del reloj para superponerse al eje Y positivo similar a la dirección en la que los dedos de la mano derecha se curvan cuando miras el extremo del pulgar. Un sistema de coordenadas para zurdos es aquel en el que el eje X positivo gira en el sentido de las agujas del reloj para superponer el eje Y positivo similar a la dirección en la que se curvan los dedos de la mano izquierda. No existe una forma matemática de determinar el ángulo de la transformación de volteo o espejo original de ya que todos los ángulos de volteo son idénticos dada una rotación de ajuste adecuada. NOTA: TypeFlip se agregó después de GENERAL_TRANSFORM estaba en circulación pública y los bits de la bandera ya no podían volver a numerarse convenientemente sin introducir una incompatibilidad binaria en el código exterior .
const TypeGeneralRotationEste bit indicador indica que la transformación definida por este objeto realiza una rotación en un ángulo arbitrario además de las conversiones indicadas por otros bits indicadores. Una rotación cambia los ángulos de los vectores en la misma cantidad independientemente de la dirección original del vector y sin cambiando la longitud del vector. Este bit indicador es mutuamente excluyente con el
const TypeGeneralScaleUna escala general multiplica la longitud de los vectores por diferentes cantidades en las direcciones x e y sin cambiar el ángulo entre vectores perpendiculares. Este bit indicador es mutuamente excluyente con el indicador TypeUniformScale.
const TypeGeneralTransformEsta constante indica que la transformación definida por este objeto realiza una conversión arbitraria de las coordenadas de entrada. Si esta transformación se puede clasificar por cualquiera de las constantes anteriores, el tipo será la constante TypeIdentity o una combinación de la bandera apropiada bits para las distintas conversiones de coordenadas que realiza esta transformación.
const TypeIdentityUna transformación de identidad es aquella en la que las coordenadas de salida son siempre las mismas que las coordenadas de entrada. Si esta transformación es distinta de la transformación de identidad, el tipo será la constante GENERAL_TRANSFORM o una combinación de los bits de marca apropiados para las diversas conversiones de coordenadas que realiza esta transformación.
const TypeMaskRotationEsta constante es una máscara de bits para cualquiera de los bits del indicador de rotación.
const TypeMaskScaleEsta constante es una máscara de bits para cualquiera de los bits de bandera de escala.
const TypeQuadrantRotationEste bit indicador indica que la transformación definida por este objeto realiza una rotación de cuadrante por algún múltiplo de 90 grados en además de las conversiones indicadas por otros bits indicadores. Una rotación cambia los ángulos de los vectores en la misma cantidad independientemente de la dirección original del vector y sin cambiando la longitud del vector. Este bit indicador es mutuamente excluyente con el indicador TypeGeneralRotation.
const TypeTranslationUna traslación mueve las coordenadas en una cantidad constante en x e y sin cambiar la longitud o el ángulo de los vectores.
const TypeUniformScaleUna escala uniforme multiplica la longitud de los vectores por la misma cantidad en las direcciones x e y sin cambiar el ángulo entre los vectores . Este bit indicador es mutuamente excluyente con el indicador TypeGeneralScale.

Observaciones

La mayoría de los algoritmos tomados de Sun’s AffineTransform.java. Nombres de Java para elementos de matriz utilizados internamente. Mapa de nombres de Java a .net a descripción: m00 M11 Scale X m10 M12 Shear Y m01 M21 Shear X m11 M22 Scaled1_m11 M22 Scaled1_m020 Trasladar X m12 M32 Trasladar Y

Ver también