D1136:文本呈现模式冲突

DWRITE_RENDERING_MODE和在此呈现器目标上设置的D2D1_TEXT_ANTIALIAS_MODE彼此不兼容。

 

可能的原因

对于基于文本的操作(如 ID2D1RenderTarget::D rawGlyphRun 和 ID2D1DeviceContext::GetGlyphRunWorldBounds),Direct2D 将考虑设备上下文的当前文本抗锯齿选项以及DirectWrite抗锯齿选项。 Direct2D 和 DirectWrite 之间的抗锯齿语义略有不同。 当指定的两个抗锯齿选项不一致时,会出现此消息。

可能的修复方法

若要确保 Direct2D 文本抗锯齿模式与DirectWrite呈现模式一致,请确保它们满足以下要求:• 对于D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE,DirectWrite呈现模式可能不是 OUTLINE 或 ALIASED。• 对于D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE,DirectWrite 呈现模式可能不是 ALIASED。• 对于D2D1_TEXT_ANTIALIAS_MODE_ALIASED,DirectWrite呈现模式可能不是任何 CLEARTYPE 选项。 [newline]若要更改当前的 Direct2D 文本抗锯齿模式,请使用 ID2D1RenderTarget::SetTextAntialiasMode。