WPFでアンチエイリアシングをオフにすることはできません。しかし、小さいときに WPF フォントのぼやけた外観を削除したいと考えています。
1 つの可能性は、.net 2.0 コンポーネントを使用することです。これにより、透明度機能とブレンド サポートが失われるようです。しかし、それを試したことはありません。
誰にもこれに対する解決策がありますか?それによる欠点はありますか?
ありがとうございました
WPFでアンチエイリアシングをオフにすることはできません。しかし、小さいときに WPF フォントのぼやけた外観を削除したいと考えています。
1 つの可能性は、.net 2.0 コンポーネントを使用することです。これにより、透明度機能とブレンド サポートが失われるようです。しかし、それを試したことはありません。
誰にもこれに対する解決策がありますか?それによる欠点はありますか?
ありがとうございました
WPF 4.0 以降では、次のオプションを使用してアンチエイリアスをオフにすることができます。
TextOptions.TextFormattingMode="Display"
Have you tried putting a WindowsFormsHost control on a WPF window/control? That will allow WPF to render a WinForms control.
UPDATE November 2012: This question and answer is 4 years old. Text rendering has since improved in WPF. Please don't put WinForms controls in WPF apps; that was a hackish way to fix font rendering. It's no longer needed.
Microsoft は、WPF でのテキスト レンダリングに特化したブログをここで公開しています。 WPF Text ブログ
.NET 4.0 では確実に改善されています。
SnapsToDevicePixels は、テキストのレンダリングにはまったく影響しません。
アンチエイリアスをかけたくない描画オブジェクトを 0.5px オフセットします。これにより、描画エンジンは、ピクセルの端に描画するのではなく、実際のピクセルに描画します (これがデフォルトです)。ピクセルのエッジに描画すると、通常、周囲のピクセルでアンチエイリアシングが発生します。
これは、Mac での Quarts の描画に似ています。
編集:申し訳ありませんが、質問を読んでいませんでした。これはフォントでは機能せず、形状のみで機能します。ただし、参照用にここにコメントを残します。
ウィンドウの UI 要素でUIElement.SnapsToDevicePixelsプロパティを使用してみてください。人々は、グラフィックスとラインに最適に機能すると報告する傾向がありますが、テキストレンダリングも改善されていることに気付きました.