다음을 통해 공유


개체를 회전하는 방법

이 항목에서는 지정된 지점에 대해 개체를 회전하는 방법을 설명합니다. 개체를 회전하려면 Matrix3x2F::Rotation 메서드를 호출합니다. 이 메서드는 지정된 각도와 중심점의 두 매개 변수를 사용합니다. 각도는 시계 방향 회전 각도(도)이며 중심점은 개체가 회전하는 지점입니다. 중심점은 변환된 개체의 좌표계에서 표현됩니다.

예를 들어 다음 코드는 정사각형의 중심을 시계 방향으로 45도 회전합니다.

    // 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);

다음 그림에서는 앞의 회전 변환을 사각형에 적용하는 효과를 보여 줍니다. 원래 사각형은 점선 윤곽선이고 회전된 사각형은 단색 윤곽선입니다.

원래 사각형의 중심을 기준으로 시계 방향으로 45도 회전된 정사각형 그림

다음 그림에서는 다른 중심점에 대해 동일한 각도로 회전하는 효과를 보여 줍니다. 회전된 개체는 원래 개체를 기준으로 서로 다른 위치에 있습니다. 왼쪽 윤곽선 사각형은 원래 사각형의 중심을 기준으로 회전한 결과이며, 오른쪽 윤곽선 사각형은 원래 사각형의 왼쪽 위 모서리를 기준으로 회전한 결과입니다.

다른 중심점에 대해 시계 방향으로 45도 회전된 정사각형 그림

Direct2D 참조

Direct2D 변환 개요