WPF4文字模糊不清晰、边框线条粗细不一致的解决方法

简介: 原文:WPF4文字模糊不清晰、边框线条粗细不一致的解决方法软件测试过程中发现在一台1600*900的分辨率电脑上文字模糊,甚至某些个文字出现压缩扭曲 经过实践,发现按下面方法能解决一点问题: 在窗口或控件上设置字体属性就可以了(红色标注部分),如下:  注:TextOptions.
原文: WPF4文字模糊不清晰、边框线条粗细不一致的解决方法

软件测试过程中发现在一台1600*900的分辨率电脑上文字模糊,甚至某些个文字出现压缩扭曲

经过实践,发现按下面方法能解决一点问题:

在窗口或控件上设置字体属性就可以了(红色标注部分),如下:

<UserControl x:Class="..."
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             mc:Ignorable="d" 
             d:DesignHeight="400" d:DesignWidth="800"
             FontFamily="NSimSun"  FontSize="14" TextOptions.TextFormattingMode="Display" TextOptions.TextRenderingMode="ClearType" TextOptions.TextHintingMode="Fixed" UseLayoutRounding="True">

 注:TextOptions.TextHintingMode="Fixed"  UseLayoutRounding="True"  必须加在窗口或控件上,否则写在样式里无效

主要属性的意义:

1.TextFormattingMode

它提供了两种设置:

· Ideal  —— WPF4之前的模式

· Display —— 新的模式,可以使字体显示更清晰

(一般将TextFormattingMode设置为Display,可以提高字体显示的清晰度)

 

2.TextRenderingMode

设置渲染模式,可以有以下设置:

Auto – This mode will use ClearType unless system settings have been set to specifically disable ClearType on the machine.

Aliased – No antialiasing will be used to draw text.

Grayscale – Grayscale antialiasing will be used to draw text.

ClearType – ClearType antialising will be used to draw text.

(一般用ClearType渲染出来的字体会比较平滑)

 

3.TextHintingMode

获取或设置一个值,该值影响文本元素的呈现行为,这是一种性能优化方式,当您对文本元素的任何文本属性进行动画处理时,可以使用此方式。

此属性的值采用以下两种可能的值:

Animated 通过使用一个更高效、但视觉精确下降的平滑算法来针对动画进行优化。(文本仍然是可读的;精度损失并不严重。)

Fixed(默认值)使用的算法针对视觉上精确的字体平滑效果进行了优化,但当将动画应用于字体元素的属性时,可能导致性能问题以及抖动,尤其是对于 FontSize 或转换/定位/投影。

(在需要对字体做一些动态效果,例如将字体缩放时,使用Animated能获取较高的性能,但同时也影响了其显示的清晰度)

 

4.UseLayoutRounding

获取或设置一个值,该值确定对象及其可视化子树的呈现是否应使用将呈现与整像素对齐的舍入行为。UserLayoutRounding为False,导致控件布局相对屏幕若不是整数则不会四舍五入,导致边缘模糊。

 

最后:如果把‘宋体’、‘黑体’、‘微软雅黑’这类字体设置成Times New Roman等英文字体,清晰度倒是明显提升了。(亲测有效)

目录
相关文章
|
程序员 C#
WPF 中的三维文字[转贴]
原文:WPF 中的三维文字[转贴] 原文: http://msdn.microsoft.com/msdnmag/issues/07/10/Foundations/default.
1009 0
|
C#
给WPF文字加多条修饰线
原文:给WPF文字加多条修饰线 这是上篇WPF中的文字修饰——上划线,中划线,基线与下划线 最后留给朋友思考的问题。 效果图: XAML代码:                                     ...
868 0
|
C#
WPF图形/文字特别效果之一:交叉效果探讨
原文:WPF图形/文字特别效果之一:交叉效果探讨 为了说明问题,先看下图:图1  完全重叠的单一颜色文字它是2008几个字的叠加,并且颜色为单一的红色。
808 0
|
C#
WPF图形/文字特别效果之一:交叉效果探讨(续)
原文:WPF图形/文字特别效果之一:交叉效果探讨(续) 在“WPF图形/文字特别效果之一:交叉效果探讨”(http://blog.csdn.net/johnsuna/archive/2008/05/08/2419404.aspx)一文中,我使用了根据笔画顺序书写及顺时针/逆时针的方式来对交叉块进行分类描述,籍以探讨如何给各交叉色块填充颜色。
978 0
|
测试技术 C# Windows
WPF文字描边的解决方法
原文:WPF文字描边的解决方法  由于项目原因,今天研究了一下午WPF的文字描边,网上这方面的资料奇少,搞了半天才发现强大的WPF原来不直接支持文字描边啊。
1557 0
|
C#
WPF文字描边的解决方法(二)——支持文字竖排和字符间距调整
原文:WPF文字描边的解决方法(二)——支持文字竖排和字符间距调整 自前天格式化文本效果出来后,今天又添加文本竖排和调整字符间距的功能。
1793 0
|
C# Windows
WPF Windows背景透明其中的文字保持不透明
原文:WPF Windows背景透明其中的文字保持不透明 版权声明:本文为博主原创,未经允许不得转载。交流、源码资料加群:161154103 https://blog.
1797 0
|
算法 容器 数据可视化
WPF_界面_图片/界面/文字模糊解决之道整理
原文:WPF_界面_图片/界面/文字模糊解决之道整理 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010265681/article/details/76651792 图片模糊: 图片尺寸:  检查图片,png, DPI=72,Stretch="None",原图尺寸和xaml里面写的尺寸一致。
1326 0
|
C#
好玩的WPF第一弹:窗口抖动+边框阴影效果+倒计时显示文字
原文:好玩的WPF第一弹:窗口抖动+边框阴影效果+倒计时显示文字 版权声明:转载请联系本人,感谢配合!本站地址:http://blog.csdn.net/nomasp https://blog.
1051 0
|
C# 开发者
WPF 程序无法触摸操作?我们一起来找原因和解决方法!
原文:WPF 程序无法触摸操作?我们一起来找原因和解决方法! 版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名吕毅(包含链接:http://blog.csdn.net/wpwalter/),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
1340 0