WPF中的抗锯齿cannot be turned off。但我希望在它们很小的时候删除WPF字体的模糊外观。
一种可能性是使用.net 2.0组件。这看起来会失去透明度和Blend支持。从来没有尝试过。
任何人都有解决方案吗?有什么缺点吗?
谢谢
答案 0 :(得分:9)
可以使用以下选项启动WPF 4.0来关闭Anti-Alias:
TextOptions.TextFormattingMode="Display"
答案 1 :(得分:3)
您是否尝试在WPF窗口/控件上放置WindowsFormsHost控件?这将允许WPF呈现WinForms控件。
2012年11月更新:此问题与答案是4年。 Text rendering has since improved in WPF。请不要在WPF应用程序中放置WinForms控件;这是修复字体渲染的一种破解方式。它不再需要了。
答案 2 :(得分:1)
SnapsToDevicePixels对文本呈现完全没有影响。
答案 3 :(得分:1)
微软在这里有一个专门用于WPF文本呈现的博客WPF Text Blog
.NET 4.0中的情况有了明显改善。
答案 4 :(得分:0)
将您绘制的对象偏移,不希望被抗锯齿,为0.5px。这将导致绘图引擎在上绘制实际像素,而不是在像素的边缘上绘制(这是默认值)。当在像素的边缘上绘制时,抗锯齿通常发生在周围的像素上。
这类似于Mac上的Quarts绘图。
编辑:对不起,我没有看过这个问题。这不适用于字体,仅适用于形状。不过,我会在此留下评论作为参考。
答案 5 :(得分:-3)
尝试在窗口的UI元素上使用UIElement.SnapsToDevicePixels属性。人们倾向于报告它最适合graphics and lines,但我也注意到文本渲染中的改进也是如此。