在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, Aliased"
- TextOptions.textformattingMode="display"
- TextOptions.TextHintingMode="Fixed"
- TextOptions.TextRenderingMode="Aliased" />
- <TextBlock Text="Wo shi di yi ge wenjian.看看我的效果,采用的三种模式: display, Grayscale"
- TextOptions.textformattingMode="display"
- TextOptions.TextHintingMode="Fixed"
- TextOptions.TextRenderingMode="Grayscale" />
- <TextBlock Text="Wo shi di yi ge wenjian.看看我的效果,采用的三种模式: Ideal, 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>
- public MainPage()
- {
- InitializeComponent();
- //后台设置tbText控件的文字显示效果
- TextOptions.SettextformattingMode(tbText, textformattingMode.Ideal);
- TextOptions.SetTextHintingMode(tbText, TextHintingMode.Fixed );
- TextOptions.SetTextRenderingMode(tbText, TextRenderingMode.Aliased );
- }
最后我们来看看运行效果如下,如需源码请点击 SL5Text.zip 下载。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。