4

ある場所では、サブアンチエイリアスを使用しましたが、別の場所では使用しません。ClearTypeと組み合わせて「表示」レンダリングモードを使用します。

ただし、これは実際にはランダムであり、カラフルなものではなく、グレースケールのアンチエイリアスを使用します。そして、それは悪く見えます。どうすれば強制できますか?

私が推測するオペレーティングシステムに基づいて、動作が異なります。しかし、奇妙な部分は、私がSubAAを使用している場所と、使用していない場所があります。

また、別のウィンドウで、全体としてsubAAを使用している場所もあります。この矛盾が存在する理由について何か考えがありますか?SUBAAが欲しい!!

ありがとう

4

1 に答える 1

3

ClearTypeがレンダリングパスで無効になる特定の状況があります。これは、ClearTypeがグレースケールアンチエイリアシングに戻ることを意味します。

  • で使用するAllowsTransparency="True"場合Window

  • Windows設定でClearTypeが無効になっている場合(および、TextOptions.TextRenderingMode = "ClearType"を使用してClearTypeを強制的に使用していない場合)

  • ClearTypeテキストは、完全に不透明ではない背景に正しく表示されません。つまり、ある程度の透明度が導入されます。

  • 次の使用により、テキストが中間ターゲットにレンダリングされる場合:

    • VisualBrush
    • DrawingBrush
    • OpacityMask
    • Viewport2DVisual3D
    • 効果
    • BitmapEffect

TextOptions.TextFormattingMode="Display"トップレベルの要素、つまりウィンドウで使用していますか?(プロパティは継承されるため、そこに配置すると、ウィンドウ内のすべてに適用されます)。

レンダリングパスでClearTypeを再度有効にするために使用できますRenderOptions.ClearTypeHint="Enabled"が、通常は無効にする正当な理由があったため、アーティファクトが発生する可能性があります。

TextOptions.TextHintingMode="Fixed"アニメーションがあり、アニメーションが有効な間は低品質のテキストレンダリング(つまり、ClearTypeを無効にする)を望まない場合に使用できます。

Windowsシステム設定でClearTypeが有効になっていない場合でも、ClearTypeを強制的に使用することができますTextOptions.TextRenderingMode="ClearType"(この場合、これは特別なことは何もしません。参照用にここにあります)。

于 2012-08-29T09:59:19.190 に答える