次の方法で共有


D1136: テキスト レンダリング モードの競合

このレンダー ターゲットに設定されたDWRITE_RENDERING_MODEとD2D1_TEXT_ANTIALIAS_MODEは、互いに互換性がありません。

 

考えられる原因

ID2D1RenderTarget::D rawGlyphRun や ID2D1DeviceContext::GetGlyphRunWorldBounds などのテキスト ベースの操作の場合、Direct2D では、デバイス コンテキストの現在のテキストアンチエイリアシング オプションと DirectWrite アンチエイリアシング オプションが考慮されます。 アンチエイリアシングセマンティクスは、Direct2D と DirectWrite の間で若干異なります。 このメッセージは、指定された 2 つのアンチエイリアシング オプションが一致しない場合に発生します。

考えられる修正方法

Direct2D テキストアンチエイリアシング モードが DirectWrite レンダリング モードと一致することを確認するには、次の要件を満たしていることを確認します。• D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPEの場合、DirectWrite レンダリング モードが OUTLINE または ALIASED ではない可能性があります。• D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALEの場合、DirectWrite レンダリング モードは ALIASED ではない可能性があります。• D2D1_TEXT_ANTIALIAS_MODE_ALIASEDの場合は、 DirectWrite レンダリング モードは CLEARTYPE オプションのいずれも使用できません。 [改行]現在の Direct2D テキストアンチエイリアシング モードを変更するには、ID2D1RenderTarget::SetTextAntialiasMode を使用します。