zoukankan      html  css  js  c++  java
  • Silverlight 5 RC新特性探索系列:14.Silverlight 5 RC 对字体呈现的改进

            在Silverlight 5 RC版本中对字体呈现做出了比较大的优化,它现在新增了一个类TextOptions,其内部有三个依赖属性TextFormattingMode、TextHintingMode、TextRenderingMode。对字体的呈现模式进行了定义。

       1.TextFormattingMode

            它有两种格式化模式,是对字体的格式化进行设置

            1.1 Display:它使用度量来格式化字体和符号,会让字体显示得更加清晰,

            1.2 Ideal:它是老的模式,相对没有那么清晰

       2.TextHintingMode

            它有两种微调模式,是对字体的渲染模式设置是否关闭

            2.1 Fixed:默认的模式,采用渲染模式

            2.2 Animated:新的模式,它会关闭渲染模式

       3.TextRenderingMode

            它有四种渲染模式,是对字体渲染类型进行设置

            3.1 Auto:自动模式,默认使用ClearType,除非本机器设置禁用ClearType

            3.2 Aliased:无抗锯齿模式,无抗锯齿的功能

            3.3 Grayscale:使用灰度抗锯齿来绘制文本

            3.4 ClearType:平滑抗锯齿绘制文本

            下面我们来通过一个实例来看看Silverlight 5 RC版本中对文字的处理,其Xaml代码如下:

        <Grid x:Name="LayoutRoot" Background="White">
    <StackPanel Orientation="Vertical">
    <StackPanel Margin="10">
    <StackPanel.Resources>
    <Style TargetType="TextBlock">
    <Setter Property="FontSize" Value="12" />
    </Style>
    </StackPanel.Resources>
    <TextBlock Text="Wo shi di yi ge wenjian.看看我的效果: 默认效果 " />

    <TextBlock Text="Wo shi di yi ge wenjian.看看我的效果,采用的三种模式: Display, Fixed, Cleartype"
    TextOptions.TextFormattingMode="Display"
    TextOptions.TextHintingMode="Fixed"
    TextOptions.TextRenderingMode="ClearType" />

    <TextBlock Text="Wo shi di yi ge wenjian.看看我的效果,采用的三种模式: Display, Animated, ClearType"
    TextOptions.TextFormattingMode="Display"
    TextOptions.TextHintingMode="Animated"
    TextOptions.TextRenderingMode="ClearType" />

    <TextBlock Text="Wo shi di yi ge wenjian.看看我的效果,采用的三种模式,采用的三种模式: Display, Fixed, Aliased"
    TextOptions.TextFormattingMode="Display"
    TextOptions.TextHintingMode="Fixed"
    TextOptions.TextRenderingMode="Aliased" />

    <TextBlock Text="Wo shi di yi ge wenjian.看看我的效果,采用的三种模式: Display, Fixed, Grayscale"
    TextOptions.TextFormattingMode="Display"
    TextOptions.TextHintingMode="Fixed"
    TextOptions.TextRenderingMode="Grayscale" />

    <TextBlock Text="Wo shi di yi ge wenjian.看看我的效果,采用的三种模式: Ideal, Fixed, Cleartype"
    TextOptions.TextFormattingMode="Ideal"
    TextOptions.TextHintingMode="Fixed"
    TextOptions.TextRenderingMode="Cleartype" />

    <TextBox Name="tbText" FontSize="12" Text="Wo shi di yi ge wenjian.看看我的效果,后台控制效果"></TextBox>
    </StackPanel>
    </StackPanel>
    </Grid>

            其CS代码如下,通过后台代码设置文字显示效果。

            public MainPage()
    {
    InitializeComponent();
    //后台设置tbText控件的文字显示效果
    TextOptions.SetTextFormattingMode(tbText, TextFormattingMode.Ideal);
    TextOptions.SetTextHintingMode(tbText, TextHintingMode.Fixed );
    TextOptions.SetTextRenderingMode(tbText, TextRenderingMode.Aliased );
    }

            最后我们来看看运行效果如下,如需源码请点击 SL5Text.zip  下载。

  • 相关阅读:
    有点感叹,陪伴一年多的py2终于换py3了
    一句话检测XSS
    Mongodb3.4异常无法启动的处理 Process: 6874 ExecStart=/usr/bin/mongod --config /etc/mongod.conf (code=exited, status=100)
    Hadoop完全云计算平台搭建
    MySQL ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 45, found 42. Created with MySQL 50560, now running 50729. Please use mysql_upgrade to fix this error.
    v-on(事件处理)
    javascript获取以及设置光标位置
    小程序图片处理
    vue api
    处理回车提交、ctrl+enter和shift+enter都不提交->textarea正常换行
  • 原文地址:https://www.cnblogs.com/chengxingliang/p/2236992.html
Copyright © 2011-2022 走看看