Share via


Clase Matrix3x2F (d2d1helper.h)

La clase Matrix3x2F representa una matriz de 3 a 2 y proporciona métodos útiles para crear matrices.

Herencia

La clase Matrix3x2F hereda de D2D1_MATRIX_3X2_F.

Métodos

La clase Matrix3x2F tiene estos métodos.

 
Matrix3x2F::D eterminant

Calcula el determinante de la matriz. (Matrix3x2F.Determinant)
Matrix3x2F::Identity

Crea una matriz de identidad. (Matrix3x2F.Identity)
Matrix3x2F::Invert

Invierte la matriz, si es invertible.
Matrix3x2F::IsIdentity

Indica si esta matriz es la matriz de identidad. (Matrix3x2F.IsIdentity)
Matrix3x2F::IsInvertible

Indica si la matriz es invertible.
Matrix3x2F::Matrix3x2F

Crea una instancia de una nueva instancia de la clase Matrix3x2F que contiene los valores especificados.
Matrix3x2F::Matrix3x2F

Crea una instancia de una nueva instancia de la clase Matrix3x2F sin inicializar los valores de la matriz.
Matrix3x2F::operator*

El método Matrix3x2F::operator-mult (d2d1helper.h) multiplica esta matriz con la matriz especificada y devuelve el resultado.
Matrix3x2F::ReinterpretBaseType

Convierte la matriz de D2D1_MATRIX_3X2_F especificada en matrix3x2F sin realizar una copia. (sobrecarga 1/2)
Matrix3x2F::ReinterpretBaseType

Convierte la matriz de D2D1_MATRIX_3X2_F especificada en matrix3x2F sin realizar una copia. (sobrecarga 2/2)
Matrix3x2F::Rotation

Crea una transformación de rotación que tiene el ángulo y el punto central especificados.
Matrix3x2F::Scale

Crea una transformación de escala que tiene los factores de escala y el punto central especificados. (sobrecarga 2/2)
Matrix3x2F::Scale

Crea una transformación de escala que tiene los factores de escala y el punto central especificados. (sobrecarga 1/2)
Matrix3x2F::SetProduct

Multiplica las dos matrices y almacena el resultado en esta matriz. (Matrix3x2F.SetProduct)
Matrix3x2F::Skew

Crea una transformación de asimetría que tiene los valores del eje X y del eje Y especificados y el punto central.
Matrix3x2F::TransformPoint

Usa esta matriz para transformar el punto especificado y devuelve el resultado.
Matrix3x2F::Translation

Crea una transformación de traducción que tiene los desplazamientos x e y especificados. (sobrecarga 1/2)
Matrix3x2F::Translation

Crea una transformación de traducción que tiene los desplazamientos x e y especificados. (sobrecarga 2/2)

Comentarios

La clase Matrix3x2F proporciona muchos métodos estáticos para crear matrices de transformación. En la tabla siguiente se proporcionan métodos usados con frecuencia y los temas de procedimientos asociados a ellos.

Método Procedimiento
Sesgar Cómo sesgar un objeto
Rotación Cómo girar un objeto
Escala Escalado de un objeto
Traducción Cómo traducir un objeto
 

Las transformaciones se pueden aplicar a objetos o a una superficie de dibujo completa. Para aplicar transformaciones a una superficie de dibujo completa, llame al método ID2D1RenderTarget::SetTransform . Para objetos individuales, como pinceles o geometrías, llame al método ID2D1Brush::SetTransform o a los métodos ID2D1Geometry .

Ejemplos

En el ejemplo siguiente se usa el método D2D1::Matrix3x2F::Rotation para crear una matriz de rotación que gira un cuadrado de 45 grados sobre el centro del cuadrado y pasa la matriz al método SetTransform del destino de representación (m_pRenderTarget).

En la ilustración siguiente se muestra el efecto de aplicar la transformación de rotación anterior al cuadrado. El cuadrado original es un contorno punteado y el cuadrado girado es un contorno sólido.

Ilustración de un cuadrado girado en el sentido de las agujas del reloj 45 grados sobre el centro del cuadrado original
    // Create a rectangle.
    D2D1_RECT_F rectangle = D2D1::Rect(438.0f, 301.5f, 498.0f, 361.5f);

    // Draw the rectangle.
    m_pRenderTarget->DrawRectangle(
        rectangle,
        m_pOriginalShapeBrush,
        1.0f,
        m_pStrokeStyleDash
        );

    // Apply the rotation transform to the render target.
    m_pRenderTarget->SetTransform(
        D2D1::Matrix3x2F::Rotation(
            45.0f,
            D2D1::Point2F(468.0f, 331.5f))
        );

    // Fill the rectangle.
    m_pRenderTarget->FillRectangle(rectangle, m_pFillBrush);

    // Draw the transformed rectangle.
    m_pRenderTarget->DrawRectangle(rectangle, m_pTransformedShapeBrush);


El código se ha omitido en este ejemplo. Para obtener más información sobre las transformaciones, vea Información general sobre las transformaciones.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7, Windows Vista con SP2 y Platform Update para Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 R2, Windows Server 2008 con SP2 y Actualización de plataforma para Windows Server 2008 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado d2d1helper.h (incluya D2d1helper.h)

Consulte también

D2D1_MATRIX_3X2_F

Información general sobre transformaciones