質問
アンチエイリアシング オフにすることはできません WPFで。しかし、WPF フォントが小さいときのぼやけた外観を削除したいと考えています。
1 つの可能性は、.net 2.0 コンポーネントを使用することです。これにより、透明性機能とブレンドのサポートが失われるようです。試したことはありませんが。
これに対する解決策を持っている人はいますか?それによるデメリットはありますか?
ありがとう
解決
を入れてみましたか Windowsフォームホスト WPF ウィンドウ/コントロール上のコントロール?これにより、WPF が WinForms コントロールをレンダリングできるようになります。
2012 年 11 月の更新:この質問と回答は 4 年前のものです。 WPF ではテキストのレンダリングが改善されました。. 。WinForms コントロールを WPF アプリに配置しないでください。それはフォントのレンダリングを修正するハック的な方法でした。もう必要ありません。
他のヒント
WPF 4.0 以降では、次のオプションを使用してアンチエイリアスをオフにできます。
TextOptions.TextFormattingMode="Display"
SnapsToDevicePixels はテキストのレンダリングにはまったく影響しません。
Microsoft には、WPF でのテキスト レンダリングに特化したブログがここにあります WPF テキスト ブログ
.NET 4.0 では状況は確実に改善されました。
アンチエイリアスをかけたくない描画オブジェクトを 0.5 ピクセルずつオフセットします。これにより、描画エンジンが描画を行います。 の上 描画ではなく実際のピクセル 縁に ピクセル数 (デフォルト)。ピクセルのエッジに描画すると、通常、周囲のピクセルにアンチエイリアスが発生します。
これは、Mac での Quarts 描画に似ています。
編集:申し訳ありませんが、質問を読んでいませんでした。これはフォントには機能せず、シェイプにのみ機能します。ただし、参考までにコメントを残しておきます。
を使ってみてください UIElement.SnapsToDevicePixels ウィンドウの UI 要素のプロパティ。人々はそれが最も効果的であると報告する傾向があります グラフィックとライン, しかし、これを使用するとテキストのレンダリングも改善されていることに気づきました。