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  下载。

时间: 2024-11-02 09:46:18

Silverlight 5 RC新特性探索系列:14.Silverlight 5 RC 对字体呈现的改进的相关文章

Silverlight 5 RC新特性探索系列:13.Silverlight 5 RC 新增对并行任务库(TPL)的支持

     在Silverlight 5 RC版本中新增了对并行任务库(Task Parallel Library)的支持,Task Parallel Library简称TPL,它是指一个或者多个任务同时运行,类似线程或者线程池.在本例中将会以并行任务库和异步获取数据进行对比.  首先新建一个Silverlight 5项目,在其Web项目中添加一个新的xml文件helloWorld.xml.编写代码如下: <?xml version="1.0" encoding="utf

Silverlight 5 RC新特性探索系列:12.Silverlight 5 RC 窗口模式下访问自定义DLL和WIN32 API

  在Silverlight 5 RC版本中针对访问权限进行了相应的提升,它的项目属性中新增了一个复选框"在浏览器内运行时需要提升的信任",如下图:          它将为在浏览器模式下运行的应用程序提升一些访问权限,例如我的上篇SaveFileDialog保存文件指定默认名称---OpenFileDialog打开文件指定默认路径就需要提升权限.另外在其OOB模式下也进行了相应的提升,比如访问WIN 32 API,或者访问在C:\Windows\System32目录下的自己编写的DL

Silverlight 5 beta新特性探索系列:6.Silverlight 5新增低延迟声音效果类SoundEffect.支持wav音乐格式【附带源码实例】

在Silverlight 5中新增了一个SoundEffect类和SoundEffectInstance类用以加载wav格式的音乐,这样可以很及时的为动画添加音效. 现在我们看如何使用这两个类来控制播放wav音乐,首先引入mav音乐格式的文件(音频采样大小必须为16或者8位不能是24位,采用PCM编码,22.5, 44.1 or 48khz的采样率)如下图属性: 其次将引入的wav格式音乐文件在项目中右键点击其属性设置其"生成操作"为"内容",如下图所示: 现在我们

Silverlight 5 beta新特性探索系列:4.Silverlight 5 beta中鼠标双击/鼠标多重点击的实现

在Silverlight 5中新增了鼠标双击和多重点击的实现,当然在这里包括鼠标左键和鼠标右键的双击,多重点击.在Silverlight 5的MouseButtonEventArgs类中新增了一个属性名为ClickCount:获取到触发事件源在单位时间内被点击的次数(注意:单位时间是由操作系统的"控制面板"-->"鼠标"-->"双击速度"设置的). 下面我们来看一个实例以判断是否双击还是多重点击,首先我们看实例的XAML代码: <

Silverlight 5 beta新特性探索系列:8.Silverlight 5中自定义扩展标记

在Silverlight 5中新增了自定义扩展标记,它通过继承于 MarkupExtension 类,重载该类中的ProvideValue方法以判断得到相应的返回值,以设置被绑定控件的属性. 下面我们通过一个最为简单的实例来理解自定义扩展标记是如何工作的. 第一步:新建一个UserMarkExtension.cs类,注意UserMark(扩展标记名)+Extension.cs(固定的后缀)=UserMarkExtension.cs 第二步:设置3个可被访问的属性标签LBText,LBWidth,

Silverlight 5 beta新特性探索系列:1.安装Silverlight 5 beta环境以及OOB模式下Silverlight 5 多窗口支持

Silverlight 5 beta版本总算于昨日放出,怀着激动的心情今天将开发环境更新为Silverlight 5 beta版本,并且接触Silverlight 5 beta的第一个新特性:OOB模式下的多窗口的弹出显示. 现在我们开始Silverlight 5 Beta版本的安装,首先需要为VS2010打一个VS2010 SP1补丁,然后我们再下载Silverlight 5 Beta Tools for Visual Studio SP1,一步一步安装完毕,最后我们下载Silverlight

Silverlight 5 RC新特性探索系列:11.SaveFileDialog保存文件指定默认名称---OpenFileDialog打开文件指定默认路径

   Silverlight 5 的RC版本已经出来了,本文将讲解RC版本中一个非常实用的小功能,SaveFileDialog保存文件指定默认名称和OpenFileDialog打开文件指定默认路径.  一.SaveFileDialog保存文件指定默认名称         在SaveFileDialog类中新增了一个属性DefaultFileName即可指定想要保存的文件的默认名称.下面请看代码如下: SaveFileDialog sfd = new SaveFileDialog(); sfd.F

Silverlight 5 beta新特性探索系列:3.Silverlight5中的文字增进控制【附带实例源码】

在Silverlight 5中新增了CharacterSpacing属性对文字间距进行控制,增加了RichTextBoxOverflow控件以灵活的对大量文字进行合理的排版显示. 一.CharacterSpacing属性 在Silverlight原来的版本中文字和文字之间并没有一个间距控制属性,这让某一些特殊的文字显示场合排版不易(比如杂志,电子报),在Silverlight 5中引入的CharacterSpacing属性就可以很好处理文字间距,它可用做TextBlock,RichTextBox

Silverlight 5 beta新特性探索系列:7.结合上层元素属性绑定和Style Setter上的绑定

   在Silverlight 5中添加了相对上层元素属性的绑定,还有Style Setter也可以绑定数据.         一.相对上层元素属性的绑定        它是在元素内部的子孙级元素中的某一些属性可以绑定为祖先级元素的某一些属性.比如说再一个ListBox的Tag元素值为:"这是第一个父级绑定",在ListBox.Templete下面添加一个TextBlock元素的Text属性设置为 <TextBlock Text="{Binding Tag,Relati