Matrix3x2F 类 (d2d1helper.h)

Matrix3x2F 类表示一个 3 乘 2 矩阵,并提供用于创建矩阵的便捷方法。

继承

Matrix3x2F 类继承自 D2D1_MATRIX_3X2_F

方法

Matrix3x2F 类具有这些方法。

 
Matrix3x2F::D eterminant

计算矩阵的行列。 (Matrix3x2F.Determinant)
Matrix3x2F::Identity

创建标识矩阵。 (Matrix3x2F.Identity)
Matrix3x2F::Invert

反转矩阵(如果矩阵是可逆的)。
Matrix3x2F::IsIdentity

指示此矩阵是否为标识矩阵。 (Matrix3x2F.IsIdentity)
Matrix3x2F::IsInvertible

指示矩阵是否可逆。
Matrix3x2F::Matrix3x2F

实例化包含指定值的 Matrix3x2F 类的新实例。
Matrix3x2F::Matrix3x2F

实例化 Matrix3x2F 类的新实例,而无需初始化矩阵值。
Matrix3x2F::operator*

Matrix3x2F::operator-mult (d2d1helper.h) 方法将此矩阵与指定矩阵相乘,并返回结果。
Matrix3x2F::ReinterpretBaseType

在不复制的情况下,将指定的D2D1_MATRIX_3X2_F矩阵转换为 Matrix3x2F。 (重载 1/2)
Matrix3x2F::ReinterpretBaseType

在不复制的情况下,将指定的D2D1_MATRIX_3X2_F矩阵转换为 Matrix3x2F。 (重载 2/2)
Matrix3x2F::Rotation

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

创建具有指定比例系数和中心点的缩放转换。 (重载 2/2)
Matrix3x2F::Scale

创建具有指定比例系数和中心点的缩放转换。 (重载 1/2)
Matrix3x2F::SetProduct

将两个矩阵相乘,并将结果存储在此矩阵中。 (Matrix3x2F.SetProduct)
Matrix3x2F::Skew

创建具有指定 x 轴和 y 轴值和中心点的倾斜转换。
Matrix3x2F::TransformPoint

使用此矩阵转换指定的点并返回结果。
Matrix3x2F::Translation

创建具有指定 x 和 y 位移的转换。 (重载 1/2)
Matrix3x2F::Translation

创建具有指定 x 和 y 位移的转换。 (重载 2/2)

注解

Matrix3x2F 类提供了许多静态方法来创建转换矩阵。 下表提供了常用方法以及与它们关联的操作方法主题。

方法 操作说明
如何倾斜对象
旋转 如何旋转对象
缩放 如何缩放对象
翻译 如何翻译对象
 

转换可以应用于对象或整个绘图图面。 若要将转换应用于整个绘图图面,请调用 ID2D1RenderTarget::SetTransform 方法。 对于单个对象(如画笔或几何图形),调用 ID2D1Brush::SetTransform 方法或 ID2D1Geometry 方法。

示例

以下示例使用 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 (包括 D2d1helper.h)

另请参阅

D2D1_MATRIX_3X2_F

转换概述