原文: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等英文字体,清晰度倒是明显提升了。(亲测有效)

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

  1. win10字体模糊怎么办?看下面4种宝藏解决方法

    最近很多用户反映电脑安装了Win10系统后出现字体发虚,模糊不清的问题,这看起来让人非常难受.win10字体模糊怎么办?来看下面4种宝藏解决方法!下面的方法适用于各类台式电脑以及笔记本电脑哦! 操作环 ...

  2. html边框样式不对,科技常识:HTML5 canvas画矩形时出现边框样式不一致的解决方法...

    今天小编跟大家讲解下有关HTML5 canvas画矩形时出现边框样式不一致的解决方法 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关HTML5 canvas画矩形时出现边框样式不一致的解决 ...

  3. EXCEL 边框 去不掉的解决方法

    在别的EXCEL做模板时,出现一个黑线的边框,不是文档的边框,怎么也去不掉!预览的时候.打印的时候都没有.看着很别扭! 解决方法: 窗口-->取消冻结窗格 转载于:https://blog.51 ...

  4. 微信小程序input组件边框不显示问题的解决方法

    问题情景 在微信小程序开发中经常用到input组件,但是如果按下面的wxml代码去写,input的边框是不会显示的,只有在鼠标点过去的时候才会有个光标 <view class="set ...

  5. wpf 字体模糊_wpf4 文字 模糊 不清晰 解决方法

    WPF4对字体渲染做了很大的改善,增加了TextOptions属性,该属性可以设置TextFormattingMode,TextRenderingMode,TextHintingMode 1.Text ...

  6. 表格里面出现个别边框线粗细不同的解决

    出现原因:浏览器缩放导致 解决办法:1.给表格设置 border-collapse: separate;border-spacing: 1px;background-color: #DFDFDF; 2 ...

  7. 在Bootstrap模糊框中使用WebUploader的问题及解决方法

    在我毕设项目中有个需求是在Bootstrap模糊框中显示WebUploader的上传按钮,效果如下: 我们直接在Bootstrap的模糊框中插入了上传的组件: 然而实际效果却是当模糊框出现之后,却无法 ...

  8. 解决html中表格线条粗细不一的问题

    我们再html中使用原生的table时,为了美观往往会通过改变td的border来改变表格边框的样式,但是通常会处出现边框线条粗细不一的问题,下面代码解决了该问题 table {border-coll ...

  9. css td边框重复,表格线边框重复css解决方法

    1.td 的边框和table 的边框重叠 .table { border-left:1px solid #dedede; border-top:1px solid #dedede;} .td { bo ...

最新文章

  1. mysql触发器好用吗_为什么大家都不推荐使用MySQL触发器而用存储过程?
  2. 6.1 Tensorflow笔记(基础篇):队列与线程
  3. exchange2007配置发送、接收附件大小
  4. 在没有任何数据时进行无效的读取尝试。_技术转载——JVM运行时内存是怎么分布的?...
  5. Intel格式与Motorola格式的区别
  6. python字符串说法错误的是_【单选题】关于Python字符串的表示方法,下列说法错误的是: A. 字符串是字符的序列表示,只能由...
  7. Maven学习总结(21)——Maven常用的几个核心概念
  8. android用sax解析xml,详解android使用SAX解析XML文件
  9. B VUE系列 三:vuex,vue全局变量管理和状态更新的利器
  10. 联众打码写滑动_如何能够对接联众打码平台
  11. jwplayer html插件,jQuery插件JWPlayer视频播放器用法实例分析
  12. matlab如何实现波的叠加原理,什么是波的叠加原理?-王尚
  13. 理解exponential weighted || 指数
  14. c#语言编写汉诺塔游戏,c#语言编写汉诺塔游戏
  15. 计算机毕业设计JAVA图书个性化推荐系统mybatis+源码+调试部署+系统+数据库+lw
  16. URAL1671 Anansi's Cobweb(离线做 + 并查集)
  17. 常用字写法(粤语)--(1)
  18. 【Practical】决策系统与粗糙集
  19. LabelMe标记后的json文件怎么转为COCO格式
  20. Javascript实现博客全文搜索功能

热门文章

  1. 【Luogu】P1607庙会班车Fair Shuttle(线段树+贪心)
  2. c语言数据类型、运算符和表达式
  3. Windows 7 添加SSD硬盘后重启卡住正在启动
  4. SWFupload在IE9以上中的bug
  5. SQL2008安装出现问题invoke---beginInvoke
  6. k8s核心技术-Helm(自定义chart部署)---K8S_Google工作笔记0047
  7. Sentinel服务熔断配置exceptionsToIgnore_削峰填谷_流量控制_速率控制_服务熔断_服务降级---微服务升级_SpringCloud Alibaba工作笔记0053
  8. VC++多线程工作笔记0005---线程间通信
  9. 如何删除win7Windows.old文件
  10. X3D 参数代码(一)