D2D1_LAYER_OPTIONS 枚举 (d2d1.h)

指定在应用层资源以创建层时可以应用的选项。

注意从 Windows 8 开始,不再支持 D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE 选项。 有关Windows 8层选项,请参阅D2D1_LAYER_OPTIONS1。
 

语法

typedef enum D2D1_LAYER_OPTIONS {
  D2D1_LAYER_OPTIONS_NONE = 0x00000000,
  D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE = 0x00000001,
  D2D1_LAYER_OPTIONS_FORCE_DWORD = 0xffffffff
} ;

常量

 
D2D1_LAYER_OPTIONS_NONE
值: 0x00000000
此层中的文本不使用 ClearType 抗锯齿。
D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE
值: 0x00000001
层正确呈现 ClearType 文本。 如果呈现器目标设置为 ClearType,则层将继续呈现 ClearType。 如果呈现目标设置为 ClearType 并且未指定此选项,则呈现目标将设置为呈现灰度,直到层弹出。 调用方可以在层中通过调用 SetTextAntialiasMode 来替代此默认值。 此标志比默认值略慢。
D2D1_LAYER_OPTIONS_FORCE_DWORD
值: 0xffffffff

注解

ClearType 抗锯齿必须使用呈现目标的当前内容才能正确混合。 当推送层请求为 ClearType 初始化时,Direct2D 会将呈现目标的当前内容复制到层中,以便可以执行 ClearType 抗锯齿。 将 ClearType 文本呈现到透明层中不会生成所需的结果。

调用 ID2D1RenderTarget::Clear 时,重新复制内容会产生较小的性能问题。

示例

以下示例演示如何使用 CreateLayer、PushLayer 和 PopLayer。 除设置为 ID2D1RadialGradientBrushopacityBrush 之外,D2D1_LAYER_PARAMETERS结构中的所有字段都设置为默认值。

// Create a layer.
ID2D1Layer *pLayer = NULL;
hr = pRT->CreateLayer(NULL, &pLayer);

if (SUCCEEDED(hr))
{
    pRT->SetTransform(D2D1::Matrix3x2F::Translation(300, 250));

    // Push the layer with the content bounds.
    pRT->PushLayer(
        D2D1::LayerParameters(
            D2D1::InfiniteRect(),
            NULL,
            D2D1_ANTIALIAS_MODE_PER_PRIMITIVE,
            D2D1::IdentityMatrix(),
            1.0,
            m_pRadialGradientBrush,
            D2D1_LAYER_OPTIONS_NONE),
        pLayer
        );

    pRT->DrawBitmap(m_pBambooBitmap, D2D1::RectF(0, 0, 190, 127));

    pRT->FillRectangle(
        D2D1::RectF(25.f, 25.f, 50.f, 50.f), 
        m_pSolidColorBrush
        );
    pRT->FillRectangle(
        D2D1::RectF(50.f, 50.f, 75.f, 75.f),
        m_pSolidColorBrush
        ); 
    pRT->FillRectangle(
        D2D1::RectF(75.f, 75.f, 100.f, 100.f),
        m_pSolidColorBrush
        );    
 
    pRT->PopLayer();
}
SafeRelease(&pLayer);

有关其他示例,请参阅 层概述

要求

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

另请参阅

层概述