开发者社区> 橘子红了呐> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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


本文转自程兴亮博客园博客,原文链接:http://www.cnblogs.com/chengxingliang/archive/2011/11/09/2236992.html,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
3402
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载