• wpf 文字显示出来后自动模糊的问题 TextOptions.TextFormattingMode="Display"


    从上面gif可以看出文字会自动变模糊,加上TextOptions.TextFormattingMode="Display" 就好了

    wpf4 文字 模糊 不清晰 解决方法

     

    在窗口或控件上设置字体属性就可以了,如下:
    <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">

    参考:

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

    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.WPF4.0中同时针对东亚字体的渲染进行了优化,现在它支持点阵字体了,而开启这个新特性十分简单,只需为FontFamily设置一种点阵字体就可以了

    以下是一张推荐设置表

    Language

    Font

    Traditional Chinese

    MingLiu

    Simplified Chinese

    SimSun

    Japanese

    MS Gothic

    Korean

    Gulium

    Korean

    Batang

  • 相关阅读:
    shell 生成指定范围随机数与随机字符串
    学习C#和SQL的书籍
    WEB安全:SQL注入
    Android TP(三)【转】
    Android 使用MediaRecorder录音调用stop()方法的时候报错【转】
    我的Android进阶之旅------>Android中MediaRecorder.stop()报错 java.lang.RuntimeException: stop failed.【转】
    Android App调用MediaRecorder实现录音功能的实例【转】
    MODULE_DEVICE_TABLE【转】
    MODULE_DEVICE_TABLE的理解【转】
    android kl 文件的作用【转】
  • 原文地址:https://www.cnblogs.com/m7777/p/8080468.html
Copyright © 2020-2023  润新知