Matrix3x2F::Rotation 方法 (d2d1helper.h)

创建具有指定角度和中心点的旋转转换。

语法

Matrix3x2F Rotation(
  FLOAT         angle,
  D2D1_POINT_2F center
);

参数

angle

类型: FLOAT

旋转角度(以度为单位)。 正角度创建顺时针旋转,负角度创建逆时针旋转。

center

类型: D2D1_POINT_2F

执行旋转的点。

返回值

类型: Matrix3x2F

新的旋转转换。

注解

调用此方法时,指定要旋转对象的 centerPoint ,以及旋转 角度 (以度为单位)。 下图显示了其中心点的正方形旋转 45 度。

图示在原始正方形的中心方向顺时针旋转 45 度

示例

以下示例使用 D2D1::Matrix3x2F::Rotation 方法创建一个旋转矩阵,该旋转矩阵将正方形中心顺时针旋转 45 度,并将该矩阵传递到呈现目标的 SetTransform 方法 (m_pRenderTarget) 。

下图显示了将上述旋转转换应用于正方形的效果。 原始正方形是虚线轮廓,旋转的正方形是实心轮廓。

图示正方形围绕原始正方形的中心旋转 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);


此示例中已省略代码。 有关转换的详细信息,请参阅转换概述

要求

要求
最低受支持的客户端 Windows 7、带 SP2 的 Windows Vista 和适用于 Windows Vista 的平台更新 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2、Windows Server 2008 SP2 和适用于 Windows Server 2008 的平台更新 [桌面应用 |UWP 应用]
目标平台 Windows
标头 d2d1helper.h
Library D2d1.lib
DLL D2d1.dll

另请参阅

Matrix3x2F