zoukankan      html  css  js  c++  java
  • wpf软件某些分辨率下文字模糊解决方法

    软件测试过程中发现在一台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">

    主要属性的意义:

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

  • 相关阅读:
    图像检索(image retrieval)- 11
    图像检索(image retrieval)- 10相关
    Mock.js简易教程,脱离后端独立开发,实现增删改查功能
    Azure Monitor (3) 对虚拟机磁盘设置自定义监控
    Azure Monitor (1) 概述
    Azure SQL Managed Instance (2) 备份SQL MI
    Azure Virtual Network (17) Private Link演示
    Azure Virtual Network (16) Private Link
    Azure Virtual Network (15) Service Endpoint演示
    Azure Virtual Network (14) Service Endpoint服务终结点
  • 原文地址:https://www.cnblogs.com/miketwais/p/wpf_font.html
Copyright © 2011-2022 走看看