Compartilhar via


Classe Matrix3x2F (d2d1helper.h)

A classe Matrix3x2F representa uma matriz 3 por 2 e fornece métodos de conveniência para criar matrizes.

Herança

A classe Matrix3x2F herda de D2D1_MATRIX_3X2_F.

Métodos

A classe Matrix3x2F tem esses métodos.

 
Matrix3x2F::D eterminant

Calcula o determinante da matriz. (Matrix3x2F.Determinant)
Matrix3x2F::Identity

Cria uma matriz de identidade. (Matrix3x2F.Identity)
Matrix3x2F::Invert

Inverte a matriz, se for inverter.
Matrix3x2F::IsIdentity

Indica se essa matriz é a matriz de identidade. (Matrix3x2F.IsIdentity)
Matrix3x2F::IsInvertible

Indica se a matriz é inverterível.
Matrix3x2F::Matrix3x2F

Cria uma instância da classe Matrix3x2F que contém os valores especificados.
Matrix3x2F::Matrix3x2F

Cria uma instância da classe Matrix3x2F sem inicializar os valores de matriz.
Matrix3x2F::operator*

O método Matrix3x2F::operator-mult (d2d1helper.h) multiplica essa matriz com a matriz especificada e retorna o resultado.
Matrix3x2F::ReinterpretBaseType

Converte a matriz de D2D1_MATRIX_3X2_F especificada em um Matrix3x2F sem fazer uma cópia. (sobrecarga 1/2)
Matrix3x2F::ReinterpretBaseType

Converte a matriz de D2D1_MATRIX_3X2_F especificada em um Matrix3x2F sem fazer uma cópia. (sobrecarga 2/2)
Matrix3x2F::Rotation

Cria uma transformação de rotação que tem o ângulo e o ponto central especificados.
Matrix3x2F::Scale

Cria uma transformação de escala que tem os fatores de escala e o ponto central especificados. (sobrecarga 2/2)
Matrix3x2F::Scale

Cria uma transformação de escala que tem os fatores de escala e o ponto central especificados. (sobrecarga 1/2)
Matrix3x2F::SetProduct

Multiplica as duas matrizes e armazena o resultado nessa matriz. (Matrix3x2F.SetProduct)
Matrix3x2F::Skew

Cria uma transformação de distorção que tem os valores do eixo x e do eixo y especificados e o ponto central.
Matrix3x2F::TransformPoint

Usa essa matriz para transformar o ponto especificado e retorna o resultado.
Matrix3x2F::Translation

Cria uma transformação de tradução que tem os deslocamentos x e y especificados. (sobrecarga 1/2)
Matrix3x2F::Translation

Cria uma transformação de tradução que tem os deslocamentos x e y especificados. (sobrecarga 2/2)

Comentários

A classe Matrix3x2F fornece muitos métodos estáticos para criar matrizes de transformação. A tabela a seguir fornece métodos usados com frequência e os tópicos de instruções associados a eles.

Método Instruções
Inclinar Como distorcer um objeto
Rotação Como girar um objeto
Escala Como dimensionar um objeto
Tradução Como traduzir um objeto
 

As transformações podem ser aplicadas a objetos ou a uma superfície de desenho inteira. Para aplicar transformações a uma superfície de desenho inteira, chame o método ID2D1RenderTarget::SetTransform . Para objetos individuais, como pincéis ou geometrias, chame o método ID2D1Brush::SetTransform ou os métodosID2D1Geometry .

Exemplos

O exemplo a seguir usa o método D2D1::Matrix3x2F::Rotation para criar uma matriz de rotação que gira um quadrado no sentido horário de 45 graus sobre o centro do quadrado e passa a matriz para o método SetTransform do destino de renderização (m_pRenderTarget).

A ilustração a seguir mostra o efeito da aplicação da transformação de rotação anterior ao quadrado. O quadrado original é um contorno pontilhado, e o quadrado girado é um contorno sólido.

Ilustração de um quadrado girado no sentido horário 45 graus sobre o centro do quadrado 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);


O código foi omitido neste exemplo. Para obter mais informações sobre transformações, consulte a Visão geral das transformações.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7, Windows Vista com SP2 e Atualização de Plataforma para Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 R2, Windows Server 2008 com SP2 e Atualização de Plataforma para Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho d2d1helper.h (inclua D2d1helper.h)

Confira também

D2D1_MATRIX_3X2_F

Visão geral das transformações