ID2D1TransformedGeometry 接口 (d2d1.h)

表示已转换的几何图形。

继承

ID2D1TransformedGeometry 接口继承自 ID2D1GeometryID2D1TransformedGeometry 还具有以下类型的成员:

方法

ID2D1TransformedGeometry 接口具有这些方法。

 
ID2D1TransformedGeometry::GetSourceGeometry

检索此转换的 geometry 对象的源几何图形。
ID2D1TransformedGeometry::GetTransform

检索用于转换 ID2D1TransformedGeometry 对象的源几何图形的矩阵。

注解

通过使用 ID2D1TransformedGeometry 而不是使用呈现目标的转换来转换几何图形,无需转换其笔划即可转换几何图形。

创建 ID2D1TransformedGeometry 对象

若要创建 ID2D1TransformedGeometry,请调用 ID2D1Factory::CreateTransformedGeometry 方法。

Direct2D 几何图形是由 ID2D1Factory 创建的不可变且与设备无关的资源。 一般情况下,应创建一次几何图形,并在应用程序的整个生命周期内保留它们,或者直到需要修改它们为止。 有关与设备无关和依赖于设备的资源的详细信息,请参阅 资源概述

示例

以下示例创建 ID2D1RectangleGeometry,然后绘制它而不转换它。 它生成下图所示的输出。

矩形图示
hr = m_pD2DFactory->CreateRectangleGeometry(
    D2D1::RectF(150.f, 150.f, 200.f, 200.f),
    &m_pRectangleGeometry
    );

下一个示例使用呈现器目标将几何图形缩放为 3,然后绘制它。 下图显示了不使用转换和转换绘制矩形的结果:请注意,转换后笔划较粗,即使笔划粗细为 1。

较大矩形内具有较粗笔划的较小矩形的插图
// Transform the render target, then draw the rectangle geometry again.
m_pRenderTarget->SetTransform(
    D2D1::Matrix3x2F::Scale(
        D2D1::SizeF(3.f, 3.f),
        D2D1::Point2F(175.f, 175.f))
    );

m_pRenderTarget->DrawGeometry(m_pRectangleGeometry, m_pBlackBrush, 1);

下一个示例使用 CreateTransformedGeometry 方法将几何图形缩放为 3,然后绘制它。 它生成下图所示的输出。 请注意,尽管矩形较大,但其笔划并没有增加。

具有相同笔划的大矩形内的较小矩形的插图
 // Create a geometry that is a scaled version
 // of m_pRectangleGeometry.
 // The new geometry is scaled by a factory of 3
 // from the center of the geometry, (35, 35).

 hr = m_pD2DFactory->CreateTransformedGeometry(
     m_pRectangleGeometry,
     D2D1::Matrix3x2F::Scale(
         D2D1::SizeF(3.f, 3.f),
         D2D1::Point2F(175.f, 175.f)),
     &m_pTransformedGeometry
     );

// Replace the previous render target transform.
m_pRenderTarget->SetTransform(D2D1::Matrix3x2F::Identity());

// Draw the transformed geometry.
m_pRenderTarget->DrawGeometry(m_pTransformedGeometry, m_pBlackBrush, 1);

要求

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

另请参阅

ID2D1Geometry