微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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代码如下:

 

 
 
  1. <Grid x:Name="LayoutRoot" Background="White"
  2.     <StackPanel Orientation="Vertical"
  3.         <StackPanel Margin="10"
  4.             <StackPanel.Resources> 
  5.                 <Style targettype="TextBlock"
  6.                     <Setter Property="FontSize"                    Value="12" /> 
  7.                 </Style> 
  8.             </StackPanel.Resources> 
  9.             <TextBlock Text="Wo shi di yi ge wenjian.看看我的效果效果 " /> 
  10.  
  11.             <TextBlock Text="Wo shi di yi ge wenjian.看看我的效果,采用的三种模式: display, Fixed, Cleartype" 
  12.                        TextOptions.textformattingMode="display" 
  13.                        TextOptions.TextHintingMode="Fixed"      
  14.                        TextOptions.TextRenderingMode="ClearType" /> 
  15.  
  16.             <TextBlock Text="Wo shi di yi ge wenjian.看看我的效果,采用的三种模式: display, Animated, ClearType"  
  17.                        TextOptions.textformattingMode="display"  
  18.                        TextOptions.TextHintingMode="Animated"     
  19.                        TextOptions.TextRenderingMode="ClearType" /> 
  20.  
  21.             <TextBlock Text="Wo shi di yi ge wenjian.看看我的效果,采用的三种模式,采用的三种模式: display, Aliased" 
  22.                        TextOptions.textformattingMode="display" 
  23.                        TextOptions.TextHintingMode="Fixed"     
  24.                        TextOptions.TextRenderingMode="Aliased" /> 
  25.  
  26.             <TextBlock Text="Wo shi di yi ge wenjian.看看我的效果,采用的三种模式: display, Grayscale" 
  27.                        TextOptions.textformattingMode="display" 
  28.                        TextOptions.TextHintingMode="Fixed"   
  29.                        TextOptions.TextRenderingMode="Grayscale" /> 
  30.              
  31.             <TextBlock Text="Wo shi di yi ge wenjian.看看我的效果,采用的三种模式: Ideal, Cleartype"  
  32.                        TextOptions.textformattingMode="Ideal" 
  33.                        TextOptions.TextHintingMode="Fixed"  
  34.                        TextOptions.TextRenderingMode="Cleartype" /> 
  35.              
  36.             <TextBox Name="tbText" FontSize="12" Text="Wo shi di yi ge wenjian.看看我的效果,后台控制效果"></TextBox
  37.         </StackPanel> 
  38.     </StackPanel> 
  39. </Grid> 

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

 

 
 
  1. public MainPage() 
  2.     InitializeComponent(); 
  3.     //后台设置tbText控件的文字显示效果 
  4.     TextOptions.SettextformattingMode(tbText, textformattingMode.Ideal); 
  5.     TextOptions.SetTextHintingMode(tbText, TextHintingMode.Fixed ); 
  6.     TextOptions.SetTextRenderingMode(tbText, TextRenderingMode.Aliased ); 

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐